Ultraschall Internals Documentation Reaper Internals Documentation Downloads Changelog of documentation Impressum and Contact
Ultraschall-logo Functions Engine GFX Engine Doc Engine Video Engine      
  Introduction/Concepts        Concepts      Concepts      Concepts
           Functions      Functions       Functions       Functions 

Jump to Index


^ API-Helper functions

get_action_context_MediaItemDiff  

^ Action Related Functions
ActionsList_GetAllActionsActionsList_GetSelectedActionsCheckActionCommandIDFormat
CheckActionCommandIDFormatCheckActionCommandIDFormat2GetAllActions
GetScriptFilenameFromActionCommandIDRefreshToolbar_ActionRunCommand
ToggleStateActionToggleStateButton 

^ Benchmark
Benchmark_GetAllStartTimesAndSlotsBenchmark_GetStartTimeBenchmark_MeasureTime

^ Child Scripts
GetScriptIdentifierGetScriptIdentifier_DescriptionGetScriptIdentifier_Title
GetScriptParametersGetScriptReturnvaluesGetScriptReturnvalues_Sender
MIDI_OnCommandByFilenameMain_OnCommandByFilenameMain_OnCommand_LuaCode
SetScriptIdentifier_DescriptionSetScriptIdentifier_TitleSetScriptParameters
SetScriptReturnvalues  

^ Config Vars
GetSetIntConfigVarSetIntConfigVar_Bitfield 

^ Data Analysis
FindPatternsInString  

^ Data Manipulation
AddIntToCharBase64_DecoderBase64_Encoder
CSV2IndividualLinesAsArrayCSV2LineCombineBytesToInteger
CompareArraysCompareStringWithAsciiValuesConcatIntegerIndexedTables
ConvertAscii2HexConvertBitsToIntegerConvertBitsToString
ConvertHex2AsciiConvertIntegerIntoString2ConvertIntegerToBits
ConvertStringToAscii_ArrayConvertStringToBitsConvertStringToIntegers
CountCharacterInStringCountEntriesInTable_MainCountLinesInString
CountPatternInStringCycleTableDB2MKVOL
EscapeMagicCharacters_StringGetAllEntriesFromTableGetDuplicatesFromArrays
GetPartialStringIsValidMatchingPatternKeepTableEntriesOfType
LimitFractionOfFloatMKVOL2DBMakeCopyOfTable
Notes2CSVRemoveTableEntriesOfTypeReplacePartOfString
ReplacePatternInStringReturnTableAsIndividualValuesReverseEndianess_Byte
ReverseTableRoundNumberSearchStringInString
SecondsToTimeSecondsToTimeString_hh_mm_ss_mssSetBitfield
SplitIntegerIntoBytesSplitStringAtLineFeedToArraySplitStringAtNULLBytes
StateChunkLayouterTimeStringToSeconds_hh_mm_ss_mssTimeToSeconds

^ Datatype-related
FloatCompareReturnTypeOfReaperObjecttoboolean
type  

^ Debug
PingMedeprecated 

^ Function Related
ConvertFunction_FromBase64StringConvertFunction_FromHexStringConvertFunction_ToBase64String
ConvertFunction_ToHexStringMakeFunctionUndoableRunLuaSourceCode
StoreFunctionInExtState  

^ Gmem/Shared Memory
GMem_GetValues_VideoSamplePeekerGMem_Read_ValueRangeGmem_GetCurrentAttachedName

^ LiceCap
SetLiceCapExeSetupLiceCap 

^ LoadFunctionFromExtState
LoadFunctionFromExtState  

^ ProgressBar
PrintProgressBarResetProgressBar 

^ ReaScript Console
BringReaScriptConsoleToFrontCloseReaScriptConsole 

^ Reaper Paths
GetReaperColorThemesPathGetReaperJSFXPathGetReaperScriptPath
GetReaperWebRCPath  

^ Shortcut Related
CharacterCodes_ReverseLookup  

^ Shortcut related
CharacterCodes_ReverseLookup_KBIniKBIniGetAllShortcuts 

^ String Output
printprint2print3
print_altprint_update 

^ Various Check Functions
IsItemInTrackIsItemInTrack2IsItemInTrack3
IsOS_MacIsOS_OtherIsOS_Windows
IsObjectValidReaperObjectIsValidGuidIsWithinTimeRange

^ Various
Create2DTableCreate3DTableCreateMultiDimTable
GetApiVersionGetOSGetReaperAppVersion
OpenURLPreventCreatingUndoPointReturnsMinusOneInCaseOfError_Arzala
RunBackgroundHelperFeaturesTimeToMeasuresget_action_context_MediaItemDiff

^ API-Variables

API_TempPathApi_InstallPathApi_Path
EuroSeparatorStartTime

^ Audio Management

GetHWInputs_AliasnamesGetHWOutputs_Aliasnames 

^ Automation Items

AutomationItem_DeleteAutomationItem_SplitAutomationItems_GetAll
AutomationItems_GetByTimeGetProject_AutomationItemStateChunkGetProject_CountAutomationItems

^ Clipboard Functions

FromClipGetMediaItemsFromClipboardGetStringFromClipboard_SWS
PutMediaItemsToClipboard_MediaItemArrayToClip 

^ Color Management

ApplyColorTableToItemColorsApplyColorTableToTrackColorsChangeColorBrightness
ChangeColorContrastChangeColorSaturationConvertColor
ConvertColorFromMacConvertColorFromWinConvertColorReverse
ConvertColorToGFXConvertColorToMacConvertColorToWin
ConvertGFXToColorCreateColorTableCreateSonicRainboomColorTable
IsValidColorTableRGB2Grayscale 

^ Configuration Settings


^ Menus
GetSetConfigActionMenu  

^ Preferences: Advanced UI
GetSetConfigAlwaysAllowKBGetSetConfigAudioCloseTrackWnds 

^ Preferences: Audio
GetSetConfigAllStereoPairsGetSetConfigAudioCloseStop 

^ Preferences: Device
GetSetConfigAudioThreadPr  

^ Preferences: Media
GetSetConfigApplyFXTail  

^ Preferences: Mute/Solo
GetSetConfigAutoMuteGetSetConfigAutoMuteFlags 

^ Preferences: Project
GetSetConfigAutoSaveIntGetSetConfigAutoSaveMode 

^ Preferences: Recording
GetSetConfigAdjRecLatGetSetConfigAdjRecManLatGetSetConfigAdjRecManLatIn

^ Preferences: Video/REX/Misc
GetSetConfigAcidImport  

^ Project Settings: Media
GetSetConfigAfxCfg  

^ Recording
GetStartNewFileRecSizeStateSetStartNewFileRecSizeState 

^ Transport: Contextmenu
GetSetConfigAudioPrShift  

^ Configuration-Files Management


^ Ini-Files
CountIniFileExternalState_keyCountIniFileExternalState_secCountKeysByPattern
CountSectionsByPatternCountValuesByPatternEnumerateIniFileExternalState_key
EnumerateIniFileExternalState_secEnumerateKeysByPatternEnumerateSectionsByPattern
EnumerateValuesByPatternGetIniFileExternalStateGetIniFileValue
SetIniFileExternalStateSetIniFileValue 

^ Reaper-kb.ini
CountKBIniActionsCountKBIniKeysCountKBIniScripts
DeleteKBIniActionsDeleteKBIniKeysDeleteKBIniScripts
GetActionCommandIDByFilenameGetKBIniActionsGetKBIniActionsID_ByActionCommandID
GetKBIniFilepathGetKBIniKeysGetKBIniKeys_ByActionCommandID
GetKBIniScriptsGetKBIniScripts_ByActionCommandIDQueryKeyboardShortcutByKeyID
SetKBIniActionsSetKBIniKeysSetKBIniScripts

^ Defer-Management

DeferGetDeferCycleSettingsGetDeferRunState
SetDeferCycleSettingsStopDeferCycle 

^ Developer


^ Error Handling
AddErrorMessageCountErrorMessage_FuncnameCountErrorMessages
DeleteAllErrorMessagesDeleteErrorMessageDeleteLastErrorMessage
GetErrorMessage_FuncnameGetLastErrorMessageGetLastErrorMessage2
GetLastErrorMessage_FuncnameReadErrorMessageSFEM
SLEMShowErrorMessagesInReascriptConsoleShowLastErrorMessage
SuppressErrorMessagesToggleIDE_Errormessages 

^ Helper functions
APIExistsApiTestEditReaScript
RFRRLRRRR

^ Envelope Management

ActivateTrackPanEnvActivateTrackPanEnv_TrackObjectActivateTrackPreFXPanEnv
ActivateTrackPreFXPanEnv_TrackObjectActivateTrackPreFXVolumeEnvActivateTrackPreFXVolumeEnv_TrackObject
ActivateTrackTrimVolumeEnvActivateTrackTrimVolumeEnv_TrackObjectActivateTrackVolumeEnv
ActivateTrackVolumeEnv_TrackObject  

^ Envelopes
GetAllTakeEnvelopesGetAllTrackEnvelopesGetTakeEnvelopeUnderMouseCursor
GetTakeEnvelopeUnderMouseCursorIsAnyMuteEnvelopeVisibleIsEnvelope_Track
IsTrackEnvelopeVisible_ArrangeView  

^ Get Envelope States
GetArmState_EnvelopeGetEnvelopeState_ActGetEnvelopeState_DefShape
GetEnvelopeState_EnvNameGetEnvelopeState_LaneHeightGetEnvelopeState_NumbersOnly
GetEnvelopeState_PTGetEnvelopeState_PooledEnvInstanceGetEnvelopeState_Vis
GetEnvelopeState_Voltype  

^ Get Envelope
GetAllTrackEnvelopesGetClosestEnvelopePointIDX_ByTimeGetEnvelopePoint
GetEnvelopePointIDX_BetweenGetLastEnvelopePoint_TrackEnvelope 

^ Helper functions
ActivateEnvelopeCheckEnvelopePointObjectCountEnvelopePoints
CreateEnvelopePointObjectGetTrackEnvelope_ClickStateGetTrackEnvelope_ClickState
IsValidEnvStateChunkIsValidEnvelopePointArrayIsValidEnvelopePointObject

^ Set Envelope States
SetArmState_EnvelopeSetEnvelopeState_ActSetEnvelopeState_DefShape
SetEnvelopeState_LaneHeightSetEnvelopeState_Vis 

^ Set Envelope
AddEnvelopePoints_EnvelopePointArrayAddEnvelopePoints_EnvelopePointObjectDeleteEnvelopePoints_EnvelopePointArray
DeleteEnvelopePoints_EnvelopePointObjectMoveTrackEnvelopePointsBySetEnvelopeHeight
SetEnvelopePoints_EnvelopePointArraySetEnvelopePoints_EnvelopePointObject 

^ Event Manager

EventManager_AddEventEventManager_AddStartupEventEventManager_CountRegisteredEvents
EventManager_CountStartupEventsEventManager_DebugModeEventManager_DebugMode_UserSpace
EventManager_EnumerateEventsEventManager_EnumerateEvents2EventManager_EnumerateStartupEvents
EventManager_EnumerateStartupEvents2EventManager_GetEventIdentifierEventManager_GetLastCheckfunctionState
EventManager_GetLastCheckfunctionState2EventManager_GetLastUpdateTimeEventManager_GetPausedState
EventManager_GetPausedState2EventManager_GetRegisteredEventIDEventManager_IsValidEventIdentifier
EventManager_PauseEventEventManager_RemoveAllEvents_ScriptEventManager_RemoveEvent
EventManager_RemoveStartupEventEventManager_RemoveStartupEvent2EventManager_ResumeEvent
EventManager_SetEventEventManager_SetStartupEventEventManager_Start
EventManager_Stop  

^ FX-Management


^ FXStateChunks
CountFXFromFXStateChunkCountFXStateChunksInStateChunkGetAllRFXChainfilenames
GetFXStateChunkIsValidFXStateChunkLoadFXStateChunkFromRFXChainFile
RemoveFXStateChunkFromItemStateChunkRemoveFXStateChunkFromTrackStateChunkSaveFXStateChunkAsRFXChainfile
SetFXStateChunk  

^ Get States
GetDocked_FXStateChunkGetFXBypass_FXStateChunkGetFXComment_FXStateChunk
GetFXFloatPos_FXStateChunkGetFXFromFXStateChunkGetFXGuid_FXStateChunk
GetFXMidiPreset_FXStateChunkGetFXSettingsString_FXLinesGetFXWak_FXStateChunk
GetLastSel_FXStateChunkGetShow_FXStateChunkGetTakeFXComment
GetTakeFX_AlternativeNameGetTrackFXCommentGetTrackFX_AlternativeName
GetWndRect_FXStateChunk  

^ Helper functions
GetFocusedFXGetLastTouchedFXGetRecentFX

^ InputFX
InputFX_AddByNameInputFX_CopyFXInputFX_CopyFXFromTakeFX
InputFX_CopyFXFromTrackFXInputFX_CopyFXToTakeFXInputFX_CopyFXToTrackFX
InputFX_DeleteInputFX_EndParamEditInputFX_FormatParamValue
InputFX_FormatParamValueNormalizedInputFX_GetChainVisibleInputFX_GetComment
InputFX_GetCountInputFX_GetEQInputFX_GetEQBandEnabled
InputFX_GetEQParamInputFX_GetEnabledInputFX_GetFXChain
InputFX_GetFXGUIDInputFX_GetFXNameInputFX_GetFloatingWindow
InputFX_GetFormattedParamValueInputFX_GetIOSizeInputFX_GetNamedConfigParm
InputFX_GetNumParamsInputFX_GetOfflineInputFX_GetOpen
InputFX_GetParamInputFX_GetParamExInputFX_GetParamName
InputFX_GetParamNormalizedInputFX_GetParameterStepSizesInputFX_GetPinMappings
InputFX_GetPresetInputFX_GetPresetIndexInputFX_GetUserPresetFilename
InputFX_MoveFXInputFX_MoveFXFromTakeFXInputFX_MoveFXFromTrackFX
InputFX_MoveFXToTakeFXInputFX_MoveFXToTrackFXInputFX_NavigatePresets
InputFX_QueryFirstFXIndexInputFX_SetEQBandEnabledInputFX_SetEQParam
InputFX_SetEnabledInputFX_SetFXChainInputFX_SetOffline
InputFX_SetOpenInputFX_SetParamInputFX_SetParamNormalized
InputFX_SetPinMappingsInputFX_SetPresetInputFX_SetPresetByIndex
InputFX_Show  

^ Parameter Mapping Alias
AddParmAlias_FXStateChunkCountParmAlias_FXStateChunkDeleteParmAlias2_FXStateChunk
DeleteParmAlias_FXStateChunkGetAllParmAliasNames_FXStateChunkGetParmAlias2_FXStateChunk
GetParmAlias_FXStateChunkGetParmAlias_MediaTrackSetParmAlias2_FXStateChunk
SetParmAlias_FXStateChunk  

^ Parameter Mapping LFOLearn
AddParmLFOLearn_FXStateChunkCountParmLFOLearn_FXStateChunkDeleteParmLFOLearn_FXStateChunk
GetParmLFOLearn_FXStateChunkGetParmLFOLearn_MediaItemGetParmLFOLearn_MediaTrack
SetParmLFOLearn_FXStateChunk  

^ Parameter Mapping Learn
AddParmLearn_FXStateChunkCountParmLearn_FXStateChunkDeleteParmLearn2_FXStateChunk
DeleteParmLearn_FXStateChunkGetParmLearn_FXStateChunkGetParmLearn_MediaItem
GetParmLearn_MediaTrackSetParmLearn_FXStateChunk 

^ Parameter Modulation
AddParmMod_ParmModTableCountParmModFromFXStateChunkCreateDefaultParmModTable
DeleteParmModFromFXStateChunkGetParmModTable_FXStateChunkGetParmModulationChunk_FXStateChunk
IsValidParmModTableSetParmMod_ParmModTable 

^ Plugins
AutoDetectVSTPluginsFolderScanDXPluginsScanVSTPlugins

^ Set States
SetDocked_FXStateChunkSetFXBypass_FXStateChunkSetFXComment_FXStateChunk
SetFXFloatPos_FXStateChunkSetFXGuid_FXStateChunkSetFXMidiPreset_FXStateChunk
SetFXWak_FXStateChunkSetLastSel_FXStateChunkSetShow_FXStateChunk
SetTakeFXCommentSetTakeFX_AlternativeNameSetTrackFXComment
SetTrackFX_AlternativeNameSetWndRect_FXStateChunk 

^ File Management


^ Background Copy
CopyFile_AddFileToQueueCopyFile_FlushCopiedFilesCopyFile_GetBufferSize
CopyFile_GetCopiedStatusCopyFile_GetCurrentlyCopiedFileCopyFile_GetCurrentlyRunningCopyInstances
CopyFile_GetPausedStateCopyFile_GetRemainingFilesToCopyCopyFile_IsCurrentlyCopying
CopyFile_PauseCopyFile_SetBufferSizeCopyFile_StartCopying
CopyFile_StopCopying  

^ File Analysis
CheckForValidFileFormatsCountLinesInFileGetLengthOfFile
OnlyFilesOfCertainType  

^ Helper functions
CountDirectoriesAndFilesInPathCreateValidTempFileDirectoryExists
DirectoryExists2GetAllDirectoriesInPathGetAllFilenamesInPath
GetAllRecursiveFilesAndSubdirectoriesGetPathGetReaperWorkDir
SetReaperWorkDir  

^ Manipulate Files
MakeCopyOfFileMakeCopyOfFile_Binary 

^ Misc
BatchConvertFilesBatchConvertFiles 

^ Read Files
ReadBinaryFileFromPatternReadBinaryFileUntilPatternReadBinaryFile_Offset
ReadFileAsLines_ArrayReadFullFileReadLinerangeFromFile
ReadSubtitles_SRTReadSubtitles_VTTReadValueFromFile

^ Write Files
SaveSubtitles_SRTWriteValueToFileWriteValueToFile_Insert
WriteValueToFile_InsertBinaryWriteValueToFile_ReplaceWriteValueToFile_ReplaceBinary

^ Image File Handling

CaptureScreenAreaAsPNGCaptureWindowAsPNGConvertJPG2PNG
ConvertPNG2JPGResizeJPGResizePNG

^ Localization

LocalizeLocalize_RefreshFileLocalize_UseFile

^ MIDI Management


^ MIDI Editor
OpenItemInMidiEditorZoomHorizontal_MidiEditorZoomVertical_MidiEditor

^ Notes
MIDI_SendMidiCCMIDI_SendMidiNoteMIDI_SendMidiPC
MIDI_SendMidiPitchQueryMIDIMessageNameByID 

^ Manipulate Files

MoveFileOrFolder  

^ Markers


^ Assistance functions
CountMarkersAndRegionsGetGuidFromMarkerIDGetMarkerByScreenCoordinates
GetMarkerByTimeGetMarkerIDFromGuidGetMarkerUpdateCounter
GetNextFreeRegionIndexGetRegionByScreenCoordinatesGetRegionByTime
GetTimeSignaturesByScreenCoordinatesGetTimeSignaturesByTimeIsMarkerAtPosition
IsRegionAtPositionMoveMarkersByMoveRegionsBy
ParseMarkerStringRenumerateMarkers 

^ Custom Markers
AddCustomMarkerAddCustomRegionCountAllCustomMarkers
CountAllCustomRegionsDeleteCustomMarkersDeleteCustomRegions
EnumerateCustomMarkersEnumerateCustomRegionsGetAllCustomMarkerNames
GetAllCustomMarkersGetAllCustomRegionNamesGetAllCustomRegions
IsMarkerValidCustomMarkerIsRegionValidCustomRegionSetCustomMarker
SetCustomRegion  

^ Edit Markers and Regions
AddEditMarkerAddEditRegionCountEditMarkers
CountEditRegionsDeleteEditMarkerDeleteEditRegion
EditToMarkerEnumerateEditMarkersEnumerateEditRegion
ExportEditMarkersToFileGetAllEditMarkersImportEditFromFile
IsMarkerEditIsRegionEditRegionMarkerToEditMarker
SetEditMarkerSetEditRegion 

^ General Markers and Regions
GetAllMarkersGetAllMarkersBetweenGetAllRegions
GetAllRegionsBetweenGetLastMarkerPositionGetLastRegion
GetMarkerAndRegionsByIndexGetMarkerByNameGetMarkerByName_Pattern
ImportMarkersFromFileRippleCut_RegionsSetMarkerByIndex

^ Normal Markers
AddNormalMarkerCountNormalMarkersCountNormalMarkers_NumGap
DeleteNormalMarkerEnumerateNormalMarkersExportNormalMarkersToFile
GetAllNormalMarkersIsMarkerNormalSetNormalMarker

^ PodRange Region
AddPodRangeRegionDeletePodRangeRegionGetPodRangeRegion
IsRegionPodrangeSetPodRangeRegion 

^ Time Signature Markers
GetAllTimeSigMarkersGetLastTimeSigMarkerPositionIsTimeSigmarkerAtPosition
MoveTimeSigMarkersBy  

^ Media Explorer

MediaExplorer_OnCommandUpdateMediaExplorer 

^ MediaItem Management


^ Assistance functions
ApplyActionToMediaItemApplyActionToMediaItemArrayApplyActionToMediaItemArray2
ApplyActionToMediaItemTakeApplyFunctionToMediaItemArrayCheckMediaItemArray
CheckMediaItemStateChunkArrayCopyMediaItemToDestinationTrackGetAllMediaItemAttributes_Table
GetAllMediaItemGUIDsGetEndOfItemGetGapsBetweenItems
GetItem_ClickStateGetItem_HighestRecCounterGetItem_Number
GetMediaItemArrayLengthGetMediaItemStateChunkArrayLengthGetMediaItemStateChunksFromItems
GetMediaItemStateChunksFromMediaItemArrayGetMediafileAttributesGetParentTrack_MediaItem
IsItemInTimerangeIsItemVisibleIsSplitAtPosition
IsValidMediaItemArrayIsValidMediaItemStateChunkIsValidMediaItemStateChunkArray
OnlyItemsInTracksAndTimerangeOnlyMediaItemsOfTracksInTrackstringOnlyMediaItemsOfTracksInTrackstring_StateChunk
PreviewMediaFilePreviewMediaItemSetAllMediaItemAttributes_Table
StopAnyPreview  

^ Delete
DeleteMediaItemDeleteMediaItemsFromArrayDeleteMediaItems_Position
DeleteMediaItems_Position  

^ Edit
RippleCutRippleCut_ReverseSectionCut
SectionCut_InverseSplitItemsAtPositionFromArraySplitMediaItems_Position

^ Get MediaItem States
GetItemAllTakesGetItemBeatGetItemChanMode
GetItemFadeFlagGetItemFadeInGetItemFadeOut
GetItemGUIDGetItemGroupGetItemIGUID
GetItemIIDGetItemImageGetItemLength
GetItemLockGetItemLoopGetItemMixFlag
GetItemMuteGetItemNameGetItemPlayRate
GetItemPositionGetItemRecPassGetItemSampleOffset
GetItemSelectedGetItemSnapOffsetGetItemStateChunk
GetItemUSTrackNumber_StateChunkGetItemVolPanGetItem_Video_IgnoreAudio

^ Get MediaItems
EnumerateMediaItemsInTrackGetAllLockedItemsFromMediaItemArrayGetAllMediaItems
GetAllMediaItemsBetweenGetAllMediaItemsFromTrackGetAllMediaItemsInTimeSelection
GetAllSelectedMediaItemsBetweenGetMediaItemsAtPosition 

^ Insert
InsertImageFileInsertMediaItemArrayInsertMediaItemFromFile
InsertMediaItemStateChunkArrayInsertMediaItem_MediaItemInsertMediaItem_MediaItemStateChunk
RippleInsertRippleInsert_MediaItemStateChunks 

^ Manipulate
AddLockStateToMediaItemStateChunkAddLockStateTo_MediaItemStateChunkArrayApplyStateChunkToItems
ChangeDeltaLengthOfMediaItems_FromArrayChangeDeltaOffsetOfMediaItems_FromArrayChangeLengthOfMediaItems_FromArray
ChangeOffsetOfMediaItems_FromArrayMoveMediaItemsAfter_ByMoveMediaItemsBefore_By
MoveMediaItemsBetween_ToMoveMediaItems_FromArrayNormalizeItems
SetItemsLockState  

^ MediaItem-Takes
CountMediaItemTake_StateChunkGetItemSourceFile_TakeGetMediaItemTake
GetMediaItemTake_StateChunkGetTake_ReverseState 

^ Outtakes Vault
MediaItems_Outtakes_AddSelectedItemsMediaItems_Outtakes_GetAllItemsMediaItems_Outtakes_InsertAllItems

^ Selected Items
DeselectMediaItems_MediaItemArrayGetAllSelectedMediaItemsGetSelectedMediaItemsAtPosition
GetSelectedMediaItemsBetweenSelectMediaItems_MediaItemArraySetMediaItemsSelected_TimeSelection

^ Set MediaItem States
SetItemImageSetItemLengthSetItemPosition
SetItemUSTrackNumber_StateChunkSetItem_Video_IgnoreAudioSetMediaItemStateChunk_in_TrackStateChunk

^ Spectral Edit
AddItemSpectralEditCountItemSpectralEditsDeleteItemSpectralEdit
GetItemSpectralConfigGetItemSpectralConfig2GetItemSpectralConfig2
GetItemSpectralEditGetItemSpectralEdit2GetItemSpectralVisibilityState
SetItemSpectralConfigSetItemSpectralEditSetItemSpectralVisibilityState

^ Metadata Management


^ Extension States(Guid)
GetGuidExtStateSetGuidExtState 

^ Extension States
DeleteProjExtState_KeyDeleteProjExtState_SectionGetProjExtState_AllKeyValues
ProjExtState_CountAllKeys  

^ Markers
GetMarkerExtStateSetMarkerExtState 

^ Reaper Metadata Management
Metadata_GetAllPresetNamesMetadata_GetMetaDataTable_Presets 

^ Tags
Metadata_AIFF_GetSetMetadata_APE_GetSetMetadata_BWF_GetSet
Metadata_CART_GetSetMetadata_CUE_GetSetMetadata_ID3_GetSet
Metadata_INFO_GetSetMetadata_IXML_GetSetMetadata_VORBIS_GetSet
Metadata_XMP_GetSet  

^ Miscellaneous

WinterlySnowflakes  

^ Mute Management


^ Mute Lane
ActivateMuteActivateMute_TrackObjectDeactivateMute
DeactivateMute_TrackObject  

^ Muting tracks within envelope-lanes
CountMuteEnvelopePointsDeleteMuteStateDeleteMuteState_TrackObject
GetNextMuteStateGetNextMuteState_TrackObjectGetPreviousMuteState
GetPreviousMuteState_TrackObjectIsMuteAtPositionIsMuteAtPosition_TrackObject
ToggleMuteToggleMute_TrackObject 

^ Navigation

CenterViewToCursorGetClosestGoToPointsGetClosestNextMarker
GetClosestNextRegionEdgeGetClosestPreviousMarkerGetClosestPreviousRegionEdge
GetLastCursorPositionGetLastLoopStateGetLastPlayState
GetNextClosestItemEdgeGetPreviousClosestItemEdgeJumpBackwardBy
JumpBackwardBy_RecordingJumpForwardByJumpForwardBy_Recording
SetPlayAndEditCursor_WhenPlayingSetPlayCursor_WhenPlayingToggleScrollingDuringPlayback

^ Scrubbing
Scrubbing_MoveCursor_GetToggleStateScrubbing_MoveCursor_Toggle 

^ Transport
GetLoopStateSetLoopState 

^ Project-Files


^ Helper functions
GetProjectStateChunkGetProject_RenderOutputPath 

^ RPP-Files Set
SetProject_GroupOverride  

^ Project-Management


^ AutoSave
AutoSave_GetMinutesAutoSave_GetOptionsAutoSave_SetMinutes
AutoSave_SetOptions  

^ Helper functions
CheckForChangedProjectTabsConvertOldProjectToCurrentReaperVersionCountProjectTabs
CreateTemporaryFileOfProjectfileEnumProjectsGetCurrentTimeLengthOfFrame
GetLengthOfFramesGetProjectFilenameGetProjectLength
GetProject_LengthGetProject_LengthGetProject_Tabs
GetRecentProjectsIsTimeSelectionActiveIsValidProjectStateChunk
IsValidReaProjectNewProjectTab 

^ ProjectBay
GetAllMediaItems_FromProjectBayStateChunkIsValidProjectBayStateChunk 

^ RPP-Files Get
GetProjectState_NumbersOnlyGetProject_AddMediaToProjectAfterRenderGetProject_ApplyFXCFG
GetProject_AuthorGetProject_AutoCrossFadeGetProject_CountMarkersAndRegions
GetProject_CountMasterHWOutsGetProject_CursorPosGetProject_DefPitchMode
GetProject_EnvAttachGetProject_ExtensionsGetProject_Feedback
GetProject_GetMarkerGetProject_GetRegionGetProject_GlobalAuto
GetProject_GridGetProject_GroupDisabledGetProject_GroupName
GetProject_GroupOverrideGetProject_HorizontalZoomGetProject_ItemMixBehavior
GetProject_LockGetProject_LoopGetProject_LoopGran
GetProject_MarkersAndRegionsGetProject_MasterAutomodeGetProject_MasterDualPanEnv2StateChunk
GetProject_MasterDualPanEnvL2StateChunkGetProject_MasterDualPanEnvLStateChunkGetProject_MasterDualPanEnvStateChunk
GetProject_MasterFXBypGetProject_MasterFXListStateChunkGetProject_MasterGroupFlagsHighState
GetProject_MasterGroupFlagsStateGetProject_MasterHWOutGetProject_MasterHWPanEnvStateChunk
GetProject_MasterHWVolEnvStateChunkGetProject_MasterMuteSoloGetProject_MasterNChans
GetProject_MasterPanModeGetProject_MasterPanMode_ExGetProject_MasterPlayspeed
GetProject_MasterSelGetProject_MasterTrackColorGetProject_MasterTrackHeight
GetProject_MasterTrackViewGetProject_MasterVolEnv2StateChunkGetProject_MasterVolEnv3StateChunk
GetProject_MasterVolEnvStateChunkGetProject_MasterVolumeGetProject_MasterWidth
GetProject_MaxProjectLengthGetProject_MetaDataStateChunkGetProject_Metronome
GetProject_MixerUIFlagsGetProject_NumberOfTracksGetProject_PanLaw
GetProject_PanModeGetProject_PeakGainGetProject_Playrate
GetProject_PooledEnvAttachGetProject_ProjOffsetsGetProject_ProjectBay
GetProject_QRenderOriginalProjectGetProject_QRenderOutFilesGetProject_ReaperVersion
GetProject_RecModeGetProject_RecPathGetProject_RecordCFG
GetProject_RenderCFGGetProject_RenderDitherStateGetProject_RenderFilename
GetProject_RenderFreqNChansGetProject_RenderPatternGetProject_RenderQueueDelay
GetProject_RenderRangeGetProject_RenderResampleGetProject_RenderSpeed
GetProject_RenderStemsGetProject_RippleStateGetProject_SMPTESync
GetProject_SampleRateGetProject_SelectionGetProject_TakeLane
GetProject_TempoGetProject_TempoEnvExGetProject_TempoEnv_ExStateChunk
GetProject_TempoTimeSignatureGetProject_TimeBaseGetProject_Timemode
GetProject_TrackMixingDepthGetProject_TrackStateChunkGetProject_UseRecConfig
GetProject_VerticalZoomGetProject_VideoConfig 

^ RPP-Files Set
SetProject_AddMediaToProjectAfterRenderSetProject_ApplyFXCFGSetProject_AutoCrossFade
SetProject_CursorPosSetProject_DefPitchModeSetProject_EnvAttach
SetProject_FeedbackSetProject_GlobalAutoSetProject_Grid
SetProject_HorizontalZoomSetProject_ItemMixBehaviorSetProject_Lock
SetProject_LoopSetProject_LoopGranSetProject_MasterAutomode
SetProject_MasterFXBypSetProject_MasterMuteSoloSetProject_MasterNChans
SetProject_MasterPanModeSetProject_MasterSelSetProject_MasterTrackColor
SetProject_MasterTrackHeightSetProject_MasterTrackViewSetProject_MaxProjectLength
SetProject_MixerUIFlagsSetProject_PanLawSetProject_PanMode
SetProject_PeakGainSetProject_PlayrateSetProject_ProjOffsets
SetProject_RecModeSetProject_RecPathSetProject_RecordCFG
SetProject_RenderCFGSetProject_RenderDitherStateSetProject_RenderFilename
SetProject_RenderFreqNChansSetProject_RenderPatternSetProject_RenderQueueDelay
SetProject_RenderRangeSetProject_RenderResampleSetProject_RenderSpeed
SetProject_RenderStemsSetProject_RippleStateSetProject_SMPTESync
SetProject_SampleRateSetProject_SelectionSetProject_TakeLane
SetProject_TempoSetProject_TempoTimeSignatureSetProject_TimeBase
SetProject_TimemodeSetProject_TrackMixingDepthSetProject_UseRecConfig
SetProject_VerticalZoomSetProject_VideoConfig 

^ Razor Edit

RazorEdit_GetAllRazorEditsRazorEdit_ProjectHasRazorEdit 

^ ReaMote

AutoSearchReaMoteClients  

^ Reaper Element Positions


^ Reaper Window
ConvertClient2ScreenXCoordinate_ReaperWindowConvertScreen2ClientXCoordinate_ReaperWindowSetReaperWindowToSize

^ Rendering Projects


^ Analyzing Renderstrings
GetOutputFormat_RenderCfgGetRenderCFG_Settings_AIFFGetRenderCFG_Settings_AVI_Video
GetRenderCFG_Settings_AudioCDGetRenderCFG_Settings_DDPGetRenderCFG_Settings_FLAC
GetRenderCFG_Settings_GIFGetRenderCFG_Settings_LCFGetRenderCFG_Settings_M4AMac
GetRenderCFG_Settings_MKV_VideoGetRenderCFG_Settings_MOVMac_VideoGetRenderCFG_Settings_MP3
GetRenderCFG_Settings_MP3ABRGetRenderCFG_Settings_MP3CBRGetRenderCFG_Settings_MP3MaxQuality
GetRenderCFG_Settings_MP3VBRGetRenderCFG_Settings_MP4Mac_VideoGetRenderCFG_Settings_OGG
GetRenderCFG_Settings_OPUSGetRenderCFG_Settings_QTMOVMP4_VideoGetRenderCFG_Settings_WAV
GetRenderCFG_Settings_WAVPACKGetRenderCFG_Settings_WebMVideo 

^ Assistance functions
ApplyRenderTable_ProjectApplyRenderTable_ProjectFileAreRenderTablesEqual
CreateNewRenderTableGetLastRenderPathsGetLastUsedRenderPatterns
GetRenderTable_ProjectGetRenderTable_ProjectFileIsReaperRendering
IsValidRenderTableResolveRenderPattern 

^ Creating Renderstrings
CreateRenderCFG_AIFFCreateRenderCFG_AVI_VideoCreateRenderCFG_AudioCD
CreateRenderCFG_DDPCreateRenderCFG_FLACCreateRenderCFG_GIF
CreateRenderCFG_LCFCreateRenderCFG_M4AMACCreateRenderCFG_MKV_Video
CreateRenderCFG_MOVMAC_VideoCreateRenderCFG_MP3ABRCreateRenderCFG_MP3CBR
CreateRenderCFG_MP3MaxQualityCreateRenderCFG_MP3VBRCreateRenderCFG_MP4MAC_Video
CreateRenderCFG_OGGCreateRenderCFG_OpusCreateRenderCFG_QTMOVMP4_Video
CreateRenderCFG_WAVCreateRenderCFG_WAVPACKCreateRenderCFG_WebMVideo

^ Loudness Calculation
CalculateLoudness  

^ Render Presets
AddRenderPresetDeleteRenderPreset_BoundsDeleteRenderPreset_FormatOptions
GetRenderPreset_NamesGetRenderPreset_RenderTableSetRenderPreset

^ Render Settings
GetRender_AddRenderedFilesToProjectGetRender_AutoIncrementFilenameGetRender_EmbedMetaData
GetRender_EmbedStretchMarkersGetRender_NoSilentFilesGetRender_OfflineOnlineMode
GetRender_ProjectSampleRateForMixGetRender_QueueDelayGetRender_ResampleMode
GetRender_SaveCopyOfProjectGetRender_TailLengthSetRender_AddRenderedFilesToProject
SetRender_AutoIncrementFilenameSetRender_EmbedMetaDataSetRender_EmbedStretchMarkers
SetRender_NoSilentFilesSetRender_OfflineOnlineModeSetRender_ProjectSampleRateForMix
SetRender_QueueDelaySetRender_ResampleModeSetRender_SaveCopyOfProject
SetRender_TailLength  

^ RenderQueue
AddProjectFileToRenderQueueAddSelectedItemsToRenderQueueGetRenderQueuedProjects
RenderProject_RenderQueue  

^ Rendering any Outputformat
RenderProjectRenderProject_RegionsRenderProject_RenderTable
Render_Loop  

^ Themeing

ApplyAllThemeLayoutParametersGetAllThemeLayoutNamesGetAllThemeLayoutParameters
GetThemeParameterIndexByDescriptionGetThemeParameterIndexByNameSetThemeParameterIndexByDescription
SetThemeParameterIndexByName  

^ Default v6-Theme
Theme_Defaultv6_GetEnvFaderSizeTheme_Defaultv6_GetEnvFolderIndentTheme_Defaultv6_GetEnvNameSize
Theme_Defaultv6_GetEnvSizeTheme_Defaultv6_GetHideTCPElementTheme_Defaultv6_GetMCPAlignControls
Theme_Defaultv6_GetMCPBorderStyleTheme_Defaultv6_GetMCPFolderIndentTheme_Defaultv6_GetMCPMeterExpansion
Theme_Defaultv6_GetMCPSizeAndLayoutTheme_Defaultv6_GetStyleMCPElementTheme_Defaultv6_GetTCPAlignControls
Theme_Defaultv6_GetTCPFolderIndentTheme_Defaultv6_GetTCPInputSizeTheme_Defaultv6_GetTCPMeterLocation
Theme_Defaultv6_GetTCPMeterSizeTheme_Defaultv6_GetTCPNameSizeTheme_Defaultv6_GetTCPSizeAndLayout
Theme_Defaultv6_GetTCPVolumeSizeTheme_Defaultv6_GetTransPlayRateSizeTheme_Defaultv6_GetTransSize
Theme_Defaultv6_SetEnvFaderSizeTheme_Defaultv6_SetEnvFolderIndentTheme_Defaultv6_SetEnvNameSize
Theme_Defaultv6_SetEnvSizeTheme_Defaultv6_SetHideTCPElementTheme_Defaultv6_SetMCPAlignControls
Theme_Defaultv6_SetMCPBorderStyleTheme_Defaultv6_SetMCPFolderIndentTheme_Defaultv6_SetMCPMeterExpansion
Theme_Defaultv6_SetMCPSizeAndLayoutTheme_Defaultv6_SetStyleMCPElementTheme_Defaultv6_SetTCPAlignControls
Theme_Defaultv6_SetTCPFolderIndentTheme_Defaultv6_SetTCPInputSizeTheme_Defaultv6_SetTCPMeterLocation
Theme_Defaultv6_SetTCPMeterSizeTheme_Defaultv6_SetTCPNameSizeTheme_Defaultv6_SetTCPSizeAndLayout
Theme_Defaultv6_SetTCPVolumeSizeTheme_Defaultv6_SetTransPlayRateSizeTheme_Defaultv6_SetTransSize

^ Track Management


^ Assistance functions
AddMediaItemStateChunk_To_TrackStateChunkAnyTrackFXBypassAnyTrackFreeItemPositioningMode
AnyTrackHiddenMCPAnyTrackHiddenTCPAnyTrackMute
AnyTrackPhasedAnyTrackRecMonitoredAnyTrackRecarmed
ApplyActionToTrackCountItemsInTrackStateChunkCreateTrackString
CreateTrackStringByGUIDCreateTrackStringByMediaTracksCreateTrackStringByTracknames
CreateTrackString_AllTracksCreateTrackString_ArmedTracksCreateTrackString_SelectedTracks
CreateTrackString_UnarmedTracksDeleteTracks_TrackStringGetAllMediaItemsFromTrackStateChunk
GetAllVisibleTracks_ArrangeGetItemStateChunkFromTrackStateChunkGetLengthOfAllMediaItems_Track
GetTrackLengthGetTracknumberByGuidInsertTrackAtIndex
InsertTrack_TrackStateChunkInverseTrackstringIsTrackObjectTracknumber
IsTrackVisibleIsValidTrackStateChunkIsValidTrackString
MoveTracksOnlyTracksInBothTrackstringsOnlyTracksInOneTrackstring
RemoveDuplicateTracksInTrackstringRemoveMediaItemByGUID_TrackStateChunkRemoveMediaItemByIGUID_TrackStateChunk
RemoveMediaItem_TrackStateChunk  

^ Get Track States
GetAllLockedTracksGetAllSelectedTracksGetTrackAutoRecArmState
GetTrackAutomodeStateGetTrackBeatStateGetTrackBusCompState
GetTrackBypFXStateGetTrackFreeModeStateGetTrackGroupFlagsState
GetTrackGroupFlags_HighStateGetTrackHeightStateGetTrackID
GetTrackINQStateGetTrackIPhaseStateGetTrackIcon_Filename
GetTrackIsBusStateGetTrackLayoutNamesGetTrackLockState
GetTrackMIDIOutStateGetTrackMainSendStateGetTrackMidiBankProgFn
GetTrackMidiCTLGetTrackMidiColorMapFnGetTrackMidiInputChanMap
GetTrackMidiTextStrFnGetTrackMuteSoloStateGetTrackNChansState
GetTrackNameGetTrackPanModeGetTrackPeakColorState
GetTrackPerfStateGetTrackRecCFGGetTrackRecState
GetTrackScoreGetTrackSelection_TrackStateChunkGetTrackShowInMixState
GetTrackStateChunk_TracknumberGetTrackState_NumbersOnlyGetTrackVUState
GetTrackVolPanGetTrackWidthSetTrackSelection_TrackStateChunk

^ Hardware Out
AddTrackHWOutApplyAllHWOutsAreHWOutsTablesEqual
ClearRoutingMatrixCountTrackHWOutsDeleteTrackHWOut
GetAllHWOutsGetTrackHWOutSetTrackHWOut

^ Send/Receive-Routing
AddTrackAUXSendReceivesApplyAllAUXSendReceivesApplyAllMainSendStates
AreAUXSendReceivesTablesEqualAreMainSendsTablesEqualClearRoutingMatrix
CountTrackAUXSendReceivesDeleteTrackAUXSendReceivesGetAllAUXSendReceives
GetAllMainSendStatesGetTrackAUXSendReceivesSetTrackAUXSendReceives

^ Set Track States
CollapseTrackHeightGetTrackByTrackNameSetAllTracksSelected
SetTrackAutoRecArmStateSetTrackAutomodeStateSetTrackBeatState
SetTrackBusCompStateSetTrackBypFXStateSetTrackFreeModeState
SetTrackGroupFlagsStateSetTrackGroupFlags_HighStateSetTrackHeightState
SetTrackIDSetTrackINQStateSetTrackIPhaseState
SetTrackIcon_FilenameSetTrackIsBusStateSetTrackLayoutNames
SetTrackLockStateSetTrackMIDIOutStateSetTrackMainSendState
SetTrackMidiBankProgFnSetTrackMidiCTLSetTrackMidiColorMapFn
SetTrackMidiInputChanMapSetTrackMidiTextStrFnSetTrackMuteSoloState
SetTrackNChansStateSetTrackNameSetTrackPanMode
SetTrackPeakColorStateSetTrackPerfStateSetTrackRecCFG
SetTrackRecStateSetTrackScoreSetTrackShowInMixState
SetTrackStateChunk_TracknumberSetTrackVUStateSetTrackVolPan
SetTrackWidthSetTrack_LastTouchedSetTrack_Trackheight_Force
SetTracksSelectedSetTracksToLockedSetTracksToUnlocked

^ TrackManager

TrackManager_ClearFilterTrackManager_OpenCloseTrackManager_SelectionFromList
TrackManager_SelectionFromProjectTrackManager_SetFilterTrackManager_ShowAll

^ Ultraschall Specific


^ Followmode
pause_follow_one_cycle  

^ Routing
GetAllAUXSendReceives2GetAllHWOuts2GetAllMainSendStates2

^ Soundboard
SoundBoard_PlaySoundBoard_PlayList_CurrentIndexSoundBoard_PlayList_Next
SoundBoard_PlayList_PreviousSoundBoard_PlayList_SetIndexSoundBoard_Stop
SoundBoard_StopAllSoundsSoundBoard_TogglePlayPauseSoundBoard_TogglePlayStop
SoundBoard_TogglePlay_FadeOutStopSoundboard_PlayFadeIn 

^ Track Management
GetTypeOfTrackIsTrackSoundboardIsTrackStudioLink
IsTrackStudioLinkOnAir  

^ Ultraschall.ini
CountUSExternalState_keyCountUSExternalState_secDeleteUSExternalState
EnumerateUSExternalState_keyEnumerateUSExternalState_secGetUSExternalState
SetUSExternalState  

^ User Interface

GetPreventUIRefreshCountPreventUIRefreshRestoreUIRefresh

^ Arrangeview Management
DeleteArrangeviewSnapshotGetVerticalScrollGetVerticalZoom
IsValidArrangeviewSnapshotRestoreArrangeviewSnapshotRetrieveArrangeviewSnapshot
SetVerticalRelativeScrollSetVerticalScrollSetVerticalZoom
StoreArrangeviewSnapshot  

^ Context Menus
ShowMenu  

^ Dialogs
BrowseForOpenFilesGetUserInputsMB

^ MediaItems
GetItemButtonsVisibleSetItemButtonsVisible 

^ Menu Management
ShowAutomationItemMenuShowEnvelopeMenuShowEnvelopePointMenu
ShowEnvelopePointMenu_AutomationItemShowMediaItemMenuShowRulerMenu
ShowTrackAreaMenuShowTrackInputMenuShowTrackPanelMenu
ShowTrackRoutingMenu  

^ Miscellaneous
ConvertYCoordsMac2WinGetIDEFontSizeGetTimeByMouseXPosition
GetUIScaleSetIDEFontSizeSetReaScriptConsole_FontStyle
SetUIScale  

^ Reaper-Windowhandler
GetActionsHWNDGetBatchFileItemConverterHWNDGetConsolidateTracksHWND
GetExportProjectMIDIHWNDGetHWND_ArrangeViewAndTimeLineGetMediaExplorerHWND
GetPreferencesHWNDGetProjectDirectoryCleanupHWNDGetProjectSettingsHWND
GetReaScriptConsoleWindowGetRenderQueueHWNDGetRenderToFileHWND
GetRenderingToFileHWNDGetSaveLiveOutputToDiskHWNDGetSaveProjectAsHWND
GetTrackManagerHWNDGetVideoHWND 

^ Screen Management
GetScreenHeightGetScreenWidth 

^ Track Control Panel(TCP)
GetTCPWidthTCP_SetWidth 

^ Transport and Ruler
SetTimeUnit  

^ Transport
GetPlayCursorWidthSetPlayCursorWidth 

^ UI-Elements
GetCheckboxStateSetCheckboxState 

^ Window Management
GetAllReaScriptIDEWindowsGetChildSizeWithinParentHWNDGetReaperWindowAttributes
GetTopmostHWNDHasHWNDChildWindowNamesIsValidHWND
MoveChildWithinParentHWNDReturnAllChildHWNDVideoWindow_FullScreenToggle
Windows_Find  

^ misc
GetHelpDisplayModeSetHelpDisplayModeWiringDiagram_GetOptions
WiringDiagram_SetOptions  

^ Web Interface

WebInterface_GetInstalledInterfaces  



^ Reaper version 5.975 Ultraschall version 4.00get_action_context_MediaItemDiff

Functioncall:
Lua: MediaItem MediaItem, MediaItem_Take MediaItem_Take, MediaItem MediaItem_unlocked, boolean Item_moved, number StartDiffTime, number EndDiffTime, number LengthDiffTime, number OffsetDiffTime = ultraschall.get_action_context_MediaItemDiff(optional boolean exlude_mousecursorsize, optional integer x, optional integer y)

Description:

Returns the currently clicked MediaItem, Take as well as the difference of position, end, length and startoffset since last time calling this function.
Good for implementing ripple-drag/editing-functions, whose position depends on changes in the currently clicked MediaItem.
Repeatedly call this (e.g. in a defer-cycle) to get all changes made, during dragging position, length or offset of the MediaItem underneath mousecursor.

This function takes into account the size of the start/end-drag-mousecursor, that means: if mouse-position is within 3 pixels before start/after end of the item, it will get the correct MediaItem.
This is a workaround, as the mouse-cursor changes to dragging and can still affect the MediaItem, even though the mouse at this position isn't above a MediaItem anymore.
To be more strict, set exlude_mousecursorsize to true. That means, it will only detect MediaItems directly beneath the mousecursor. If the mouse isn't above a MediaItem, this function will ignore it, even if the mouse could still affect the MediaItem.
If you don't understand, what that means: simply omit exlude_mousecursorsize, which should work in almost all use-cases. If it doesn't work as you want, try setting it to true and see, whether it works now.    

Parameters:
optional boolean exlude_mousecursorsize false or nil, get the item underneath, when it can be affected by the mouse-cursor(dragging etc): when in doubt, use this true, get the item underneath the mousecursor only, when mouse is strictly above the item, which means: this ignores the item when mouse is not above it, even if the mouse could affect the item
optional integer x nil, use the current x-mouseposition; otherwise the x-position in pixels
optional integer y nil, use the current y-mouseposition; otherwise the y-position in pixels

Returnvalues:
MediaItem MediaItem the MediaItem at the current mouse-position; nil if not found
MediaItem_Take MediaItem_Take the MediaItem_Take underneath the mouse-cursor
MediaItem MediaItem_unlocked if the MediaItem isn't locked, you'll get a MediaItem here. If it is locked, this retval is nil
boolean Item_moved true, the item was moved; false, only a part(either start or end or offset) of the item was moved
number StartDiffTime if the start of the item changed, this is the difference; positive, the start of the item has been changed towards the end of the project negative, the start of the item has been changed towards the start of the project 0, no changes to the itemstart-position at all
number EndDiffTime if the end of the item changed, this is the difference; positive, the end of the item has been changed towards the end of the project negative, the end of the item has been changed towards the start of the project 0, no changes to the itemend-position at all
number LengthDiffTime if the length of the item changed, this is the difference; positive, the length is longer negative, the length is shorter 0, no changes to the length of the item
number OffsetDiffTime if the offset of the item-take has changed, this is the difference; positive, the offset has been changed towards the start of the project negative, the offset has been changed towards the end of the project 0, no changes to the offset of the item-take Note: this is the offset of the take underneath the mousecursor, which might not be the same size, as the MediaItem itself! So changes to the offset maybe changes within the MediaItem or the start of the MediaItem! This could be important, if you want to affect other items with rippling.




^ Reaper version 6.05 SWS version 2.10.0.1 JS version 0.963 Ultraschall version 4.1ActionsList_GetAllActions

Functioncall:
Lua: integer num_found_actions, integer sectionID, string sectionName, table actions, table CmdIDs, table ToggleStates, table shortcuts = ultraschall.ActionsList_GetAllActions()

Description:

returns the all actions from the actionlist, when opened.

The order of the tables of found actions, ActionCommandIDs and ToggleStates is the same in all of the three tables. They also reflect the order of userselection in the ActionList itself from top to bottom of the ActionList.

returns -1 in case of an error


Returnvalues:
integer num_found_actions the number of found actions; -1, if not opened
integer sectionID the id of the section, from which the found actions are from
string sectionName the name of the found section
table actions the texts of the found actions as a handy table
table CmdIDs the ActionCommandIDs of the found actions as a handy table; all of them are strings, even the numbers, but can be converted using Reaper's own function reaper.NamedCommandLookup
table ToggleStates the current toggle-states of the found actions; 1, on; 0, off; -1, no such toggle state available
table shortcuts the shortcuts of the action as a handy table; separated by ", "



^ Reaper version 6.05 SWS version 2.10.0.1 JS version 0.963 Ultraschall version 4.1ActionsList_GetSelectedActions

Functioncall:
Lua: integer num_found_actions, integer sectionID, string sectionName, table selected_actions, table CmdIDs, table ToggleStates, table shortcuts = ultraschall.ActionsList_GetSelectedActions()

Description:

returns the selected entries from the actionlist, when opened.

The order of the tables of found actions, ActionCommandIDs and ToggleStates is the same in all of the three tables. They also reflect the order of userselection in the ActionList itself from top to bottom of the ActionList.

returns -1 in case of an error


Returnvalues:
integer num_found_actions the number of selected actions; -1, if not opened
integer sectionID the id of the section, from which the selected actions are from
string sectionName the name of the selected section
table selected_actions the texts of the found actions as a handy table
table CmdIDs the ActionCommandIDs of the found actions as a handy table; all of them are strings, even the numbers, but can be converted using Reaper's own function reaper.NamedCommandLookup
table ToggleStates the current toggle-states of the selected actions; 1, on; 0, off; -1, no such toggle state available
table shortcuts the shortcuts of the action as a handy table; separated by ", "



^ Reaper version 5.40 Ultraschall version 4.00CheckActionCommandIDFormat

Functioncall:
Lua: boolean retval = ultraschall.CheckActionCommandIDFormat(action_command_id)

Description:

Checks, whether an action command id is a valid commandid(which is a number) or a valid _action_command_id (which is a string with an _underscore in the beginning).

Does not check, whether this action_command_id is a useable one, only if it's "syntax" is correct!

returns falsein case of an error

Parameters:
actioncommand_id the ActionCommandID you want to check; either a number or an action_command_id with an underscore at the beginning

Returnvalues:
boolean retval true, valid action_command_id; false, not a valid action_command_id



^ Reaper version 5.40 Ultraschall version 4.00CheckActionCommandIDFormat

Functioncall:
Lua: boolean retval = ultraschall.CheckActionCommandIDFormat(action_command_id)

Description:

Checks, whether an action command id is a valid commandid(which is a number) or a valid _action_command_id (which is a string with an _underscore in the beginning).

Does not check, whether this action_command_id is a useable one, only if it's "syntax" is correct!

returns falsein case of an error

Parameters:
actioncommand_id the ActionCommandID you want to check; either a number or an action_command_id with an underscore at the beginning

Returnvalues:
boolean retval true, valid action_command_id; false, not a valid action_command_id



^ Reaper version 5.40 Ultraschall version 4.00CheckActionCommandIDFormat2

Functioncall:
Lua: boolean retval = ultraschall.CheckActionCommandIDFormat2(action_command_id)

Description:

Checks, whether an action command id is a valid commandid(which is a number) or a valid _action_command_id (which is a string with an _underscore in the beginning).

Unlike CheckActionCommandIDFormat, this checks whether an action-command-id-string is an actual registered one(case sensitive!).

returns false in case of an error

Parameters:
actioncommand_id the ActionCommandID you want to check; either a number or an action_command_id with an underscore at the beginning

Returnvalues:
boolean retval true, valid action_command_id; false, not a valid action_command_id



^ Reaper version 5.977 SWS version 2.10.0.1 Ultraschall version 4.00GetAllActions

Functioncall:
Lua: integer number_of_actions, table actiontable = ultraschall.GetAllActions(integer section)

Description:

Returns all actions and accompanying attributes from a specific section as a handy table

The table is of the following format:

    actiontable[index]["commandid"]       - the command-id-number of the action  
    actiontable[index]["actioncommandid"] - the action-command-id-string of the action, if it's a named 
                                            command(usually scripts or extensions), otherwise empty string  
    actiontable[index]["name"]            - the name of command  
    actiontable[index]["scriptfilename"]  - the filename+path of a command, that is a ReaScript, otherwise empty string  
    actiontable[index]["termination"]     - the termination-state of the action  
                                              -1  - not available  
                                              4   - Dialogwindow appears(Terminate, New Instance, Abort), if another 
                                                    instance of a given script is started, that's already running  
                                              260 - always Terminate All(!) Instances, if you try to run another 
                                                    instance of a script, that's already running. When no instance is 
                                                    running, it simply starts the script.  
                                              516 - always start a New Instance of the script, that's already running  
    actiontable[index]["consolidate"]     - the consolidate-state of custom actions; 
                                                1 consolidate undo points, 
                                                2 show in Actions-Menu, 
                                                3 consolidate undo points AND show in Actions Menu
                                                -1, if not available  
    actiontable[index]["actiontype"]      - the type of the action; 
                                            "native action", "extension action", 
                                            "custom action", "script"  

returns -1 in case of an error.


Parameters:
integer sections the section, whose actions you want to retrieve 0, Main=0 1, invisible actions(shown but not runnable actions) 100, Main (alt recording) 32060, MIDI Editor=32060 32061, MIDI Event List Editor 32062, MIDI Inline Editor 32063, Media Explorer=32063

Returnvalues:
integer number_of_actions the number of actions found; -1 in case of an error
table actiontable a table, which holds all attributes of an action(see description for more details)



^ Reaper version 5.95 SWS version 2.9.7 Ultraschall version 4.00GetScriptFilenameFromActionCommandID

Functioncall:
Lua: string scriptfilename_with_path = ultraschall.GetScriptFilenameFromActionCommandID(string action_command_id)

Description:

returns the filename with path of a script, associated to a ReaScript.
Command-ID-numbers do not work!
                        
returns false in case of an error

Parameters:
string Path the path to set as new current working directory

Returnvalues:
string scriptfilename_with_path the scriptfilename with path associated with this ActionCommandID



^ Reaper version 5.40 Ultraschall version 4.00RefreshToolbar_Action

Functioncall:
Lua: ultraschall.RefreshToolbar_Action(integer section, string actioncommand_id)

Description:

Refreshes a toolbarbutton with an ActionCommandID(instead of the CommandID-number)

returns -1 in case of error

Parameters:
integer section section 0 - Main 100 - Main (alt recording) 32060 - MIDI Editor 32061 - MIDI Event List Editor 32062 - MIDI Inline Editor 32063 - Media Explorer
string actioncommand_id ActionCommandID of the action, associated with the toolbarbutton



^ Reaper version 5.40 Ultraschall version 4.00RunCommand

Functioncall:
Lua: integer retval = ultraschall.RunCommand(string actioncommand_id)

Description:

runs a command by its ActionCommandID(instead of the CommandID-number)

returns -1 in case of error

Parameters:
string actioncommand_id the ActionCommandID of the Command/Script/Action you want to run; must be either a number or the ActionCommandID beginning with an underscore _

Returnvalues:
integer retval -1, in case of error



^ Reaper version 5.40 Ultraschall version 4.00ToggleStateAction

Functioncall:
Lua: integer retval = ultraschall.ToggleStateAction(integer section, string actioncommand_id, integer state)

Description:

Toggles state of an action using the actioncommand_id(instead of the CommandID-number)

returns current state of the action after toggling or -1 in case of error.

Parameters:
integer section the section of the action(see ShowActionlist-dialog) 0 - Main 100 - Main (alt recording) 32060 - MIDI Editor 32061 - MIDI Event List Editor 32062 - MIDI Inline Editor 32063 - Media Explorer
string actioncommand_id the ActionCommandID of the action to toggle
integer state toggle-state 0, off &1, on/checked in menus &2, on/grayed out in menus &16, on/bullet in front of the entry in menus -1, NA because the action does not have on/off states.

Returnvalues:
integer retval state if the action, after it has been toggled



^ Reaper version 5.40 Ultraschall version 4.00ToggleStateButton

Functioncall:
Lua: boolean retval = ultraschall.ToggleStateButton(integer section, string actioncommand_id, integer state)

Description:

Toggles state and refreshes the button of an actioncommand_id

returns false in case of error

Parameters:
integer section the section of the action(see ShowActionlist-dialog) 0 - Main 100 - Main (alt recording) 32060 - MIDI Editor 32061 - MIDI Event List Editor 32062 - MIDI Inline Editor 32063 - Media Explorer
string actioncommand_id the ActionCommandID of the action to toggle
integer state 1 or 0

Returnvalues:
boolean retval true, toggling worked; false, toggling didn't work




^ Reaper version 5.975 Ultraschall version 4.1Benchmark_GetAllStartTimesAndSlots

Functioncall:
Lua: number starttime = ultraschall.Benchmark_GetStartTime()

Description:

This function is for benchmarking parts of your code. It returns a table with all starttimes of all current benchmark-measurings. The index of the table reflects the slots.

Use Benchmark_MeasureTime to start/reset a new benchmark-measureing.


Returnvalues:
table starttime_slots a table with all starttimes of all current benchmark-measurings, where the index reflects the slots



^ Reaper version 5.975 Ultraschall version 4.1Benchmark_GetStartTime

Functioncall:
Lua: number starttime = ultraschall.Benchmark_GetStartTime(optional integer slot)

Description:

This function is for benchmarking parts of your code. It returns the starttime of the last benchmark-start.

returns nil, if no benchmark has been made yet.

Use Benchmark_MeasureTime to start/reset a new benchmark-measureing.


Parameters:
optional integer slot the slot, whose starttime you want to get

Returnvalues:
number starttime the starttime of the currently running benchmark



^ Reaper version 5.975 Ultraschall version 4.1Benchmark_MeasureTime

Functioncall:
Lua: number elapsed_time, string elapsed_time_string, string measure_evaluation = ultraschall.Benchmark_MeasureTime(optional integer time_mode, optional boolean reset, optional integer slot)

Description:

This function is for benchmarking parts of your code. It returns the passed time, since last time calling this function.

Use Benchmark_GetStartTime to start the benchmark.


Parameters:
optional integer time_mode the formatting of elapsed_time_string 0=time 1=measures.beats + time 2=measures.beats 3=seconds 4=samples 5=h:m:s:f
optional boolean reset true, resets the starttime(for new measuring); false, keeps current measure-starttime(for continuing measuring)
optional integer slot if you want to have multiple benchmark-measures at the same time, you can store them in different slots. means, you can measure in slot 1 and slot 2, where you can occasionally reset slot 1 while having continuous measuring in slot 2. this allows you to measure the execution time of the whole script(slot 2) and certain parts of the script on individual basis(slot 1). you can use as many slots, as you want. nil, default slot is 0

Returnvalues:
number elapsed_time the elapsed time in seconds
string elapsed_time_string the elapsed time, formatted by parameter time_mode
string measure_evaluation an evaluation of time, mostly starting with < or > an a number of + 0, no time passed >, for elapsed times greater than 1, the following + will show the number of integer digits; example: 12.927 -> ">++" <, for elapsed times smaller than 1, the following + will show the number of zeros+1 in the fraction, until the first non-zero-digit appears; example: 0.0063 -> "<+++"




^ Reaper version 5.965 Ultraschall version 4.00GetScriptIdentifier

Functioncall:
Lua: string script_identifier = ultraschall.GetScriptIdentifier()

Description:

The Ultraschall-API gives any script, that uses the API, a unique identifier generated when the script is run. This identifier can be used to communicate with this script. If you start numerous instances of a script, it will create for each instance its own script-identifier, so you can be sure, that you communicate with the right instance.

The identifier is of the format "ScriptIdentifier:scriptfilename-{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}.ext", where the {}-part is a guid and ext either .lua .py or .eel

Defer1 to Defer20 make use of this to stop a running defer-loop from the outside of a deferred-script.


Returnvalues:
string script_identifier a unique script-identifier for this script-instance, of the format: ScriptIdentifier: scriptfilename-guid



^ Reaper version 5.965 Ultraschall version 4.00GetScriptIdentifier_Description

Functioncall:
Lua: string script_identifier_description = ultraschall.GetScriptIdentifier_Description()

Description:

The Ultraschall-API gives any script, that uses the API, a unique identifier generated when the script is run. This identifier can be used to communicate with this script. If you start numerous instances of a script, it will create for each instance its own script-identifier, so you can be sure, that you communicate with the right instance.

With this function, you can get its description, that is less cryptic than the ScriptIdentifier itself.

You can set it using SetScriptIdentifier_Description.


Returnvalues:
string script_identifier_description the description of your script



^ Reaper version 5.965 Ultraschall version 4.00GetScriptIdentifier_Title

Functioncall:
Lua: string script_identifier_title = ultraschall.GetScriptIdentifier_Title()

Description:

The Ultraschall-API gives any script, that uses the API, a unique identifier generated when the script is run. This identifier can be used to communicate with this script. If you start numerous instances of a script, it will create for each instance its own script-identifier, so you can be sure, that you communicate with the right instance.

With this function, you can get its description, that is less cryptic than the ScriptIdentifier itself.

Default is the script's filename.

You can set it using SetScriptIdentifier_Title.


Returnvalues:
string script_identifier_title the title of your script; default is the filename of the script



^ Reaper version 5.965 Ultraschall version 4.00GetScriptParameters

Functioncall:
Lua: integer num_params, array params, string caller_script_identifier = ultraschall.GetScriptParameters(optional string script_identifier, optional boolean remove)

Description:

Gets the parameters stored for a specific script_identifier.

returns -1 in case of an error


Parameters:
optional string script_identifier the script-identifier, whose parameters you want to retrieve; use nil, to get the parameters stored for the current script
optional boolean remove true or nil, remove the stored parameter-extstates; false, keep them for later retrieval

Returnvalues:
integer num_params the number of parameters available
array params the values of the parameters as an array
string caller_script_identifier the scriptidentifier of the script, that set the parameters



^ Reaper version 5.965 Ultraschall version 4.00GetScriptReturnvalues

Functioncall:
Lua: integer num_params, array retvals = ultraschall.GetScriptReturnvalues(string sender_script_identifier, optional boolean remove)

Description:

Gets the return-values which a specific sender_script_identifier sent to the current script.

If you have started numerous child-scripts and want to know, which child-script sent you return-values, see GetScriptReturnvalues_Sender

returns -1 in case of an error


Parameters:
string sender_script_identifier the script-identifier, that sent the return-values to your script
optional boolean remove true or nil, remove the stored retval-extstates; false, keep them for later retrieval

Returnvalues:
integer num_retvals the number of return-values available
array params the values of the return-values as an array



^ Reaper version 5.965 Ultraschall version 4.00GetScriptReturnvalues_Sender

Functioncall:
Lua: integer count, array retval_sender = ultraschall.GetScriptReturnvalues_Sender()

Description:

Retrieves, which scripts sent returnvalues to the current script.


Returnvalues:
integer count the number of scripts, who have left returnvalues for the current script
array retval_sender the ScriptIdentifier of the scripts, who returned values



^ Reaper version 5.965 JS version 0.962 Ultraschall version 4.00MIDI_OnCommandByFilename

Functioncall:
Lua: boolean retval, string script_identifier = ultraschall.MIDI_OnCommandByFilename(string filename, optional HWND Midi_EditorHWND, string ...)

Description:

Runs a command by a filename in the MIDI-editor-context. It internally registers the file temporarily as command, runs it and unregisters it again. This is especially helpful, when you want to run a command for sure without possible command-id-number-problems.

It returns a unique script-identifier for this script, which can be used to communicate with this script-instance. The started script gets its script-identifier using GetScriptIdentifier. You can use this script-identifier e.g. as extstate.

Returns false in case of an error


Parameters:
HWND Midi_EditorHWND the window-handler of the MIDI-editor, in which to run the script; nil, for the last active MIDI-editor
string filename the name plus path of the scriptfile to run
string ... parameters, that shall be passed over to the script

Returnvalues:
boolean retval true, if running it was successful; false, if not
string script_identifier a unique script-identifier, which can be used as extstate to communicate with the started scriptinstance



^ Reaper version 5.95 Ultraschall version 4.00Main_OnCommandByFilename

Functioncall:
Lua: boolean retval, string script_identifier = ultraschall.Main_OnCommandByFilename(string filename, string ...)

Description:

Runs a command by a filename. It internally registers the file temporarily as command, runs it and unregisters it again. This is especially helpful, when you want to run a command for sure without possible command-id-number-problems.

It returns a unique script-identifier for this script, which can be used to communicate with this script-instance. The started script gets its script-identifier using GetScriptIdentifier. You can use this script-identifier e.g. as extstate.

Returns false in case of an error


Parameters:
string filename the name and path of the scriptfile to run
string ... parameters that shall be passed over to the script

Returnvalues:
boolean retval true, if running it was successful; false, if not
string script_identifier a unique script-identifier, which can be used as extstate to communicate with the started scriptinstance



^ Reaper version 5.95 Ultraschall version 4.00Main_OnCommand_LuaCode

Functioncall:
Lua: boolean retval, string script_identifier = ultraschall.Main_OnCommand_LuaCode(string Code, string ...)

Description:

Runs LuaCode as new temporary script-instance. It internally registers the code as a file temporarily as command, runs it and unregisters it again. This is especially helpful, when you want to run a command for sure without possible command-id-number-problems.

It returns a unique script-identifier for this script, which can be used to communicate with this script-instance. The started script gets its script-identifier using GetScriptIdentifier. You can use this script-identifier e.g. as extstate.

Returns false in case of an error


Parameters:
string Code the Lua-code, which shall be run; will not be checked vor validity!
string ... parameters that shall be passed over to the script

Returnvalues:
boolean retval true, if running it was successful; false, if not
string script_identifier a unique script-identifier, which can be used as extstate to communicate with the started code



^ Reaper version 5.965 Ultraschall version 4.00SetScriptIdentifier_Description

Functioncall:
Lua: integer retval = ultraschall.SetScriptIdentifier_Description(string description)

Description:

The Ultraschall-API gives any script, that uses the API, a unique identifier generated when the script is run. This identifier can be used to communicate with this script. If you start numerous instances of a script, it will create for each instance its own script-identifier, so you can be sure, that you communicate with the right instance.

With this function, you can set its description, that is less cryptic than the ScriptIdentifier itself.

You can get it using GetScriptIdentifier_Description.

returns -1 in case of an error


Parameters:
string description the new description of your script

Returnvalues:
integer retval -1 in case of an error



^ Reaper version 5.965 Ultraschall version 4.00SetScriptIdentifier_Title

Functioncall:
Lua: integer retval = ultraschall.SetScriptIdentifier_Title(string title)

Description:

The Ultraschall-API gives any script, that uses the API, a unique identifier generated when the script is run. This identifier can be used to communicate with this script. If you start numerous instances of a script, it will create for each instance its own script-identifier, so you can be sure, that you communicate with the right instance.

With this function, you can set its title, that is less cryptic than the ScriptIdentifier itself. No \n-newlines, \r-carriage returns or \0-nullbytes are allowed and will be removed

You can get it using GetScriptIdentifier_Title.

returns -1 in case of an error


Parameters:
string title the new title of your script

Returnvalues:
integer retval -1 in case of an error



^ Reaper version 5.965 Ultraschall version 4.00SetScriptParameters

Functioncall:
Lua: boolean retval, string script_identifier = ultraschall.SetScriptParameters(string script_identifier, string ...)

Description:

Sets the parameters stored for a specific script_identifier.


Parameters:
string script_identifier the script-identifier, whose parameters you want to retrieve; use nil, to set the parameters stored for the current script
string ... the parameters you want to set; there can be more than one, but they must be strings

Returnvalues:
boolean retval true, storing was successful
string script_identifier the script_identifier, whose parameters have been set



^ Reaper version 5.965 Ultraschall version 4.00SetScriptReturnvalues

Functioncall:
Lua: boolean retval = ultraschall.SetScriptReturnvalues(string script_identifier, string ...)

Description:

Send return-values back to the script, that has a specific script_identifier.

returns false in case of an error


Parameters:
string script_identifier the script-identifier of the script-instance, to where you want to send the returnvalues
string ... the returnvalues you want to set; there can be more than one, but they must be strings

Returnvalues:
boolean retval true, storing was successful; false, there was an error




^ Reaper version 5.965 SWS version 2.9.7 Ultraschall version 4.00GetSetIntConfigVar

Functioncall:
Lua: boolean retval, integer config_var_value = ultraschall.GetSetIntConfigVar(string varname, boolean set, optional boolean bit1, ..., optional boolean bit32)

Description:

Gets/Sets an integer-bitfield of an integer-configvariable.

Pass to it a varname, if it shall be set or gotten from and up to 32 parameters who specify, if that bit shall be set(true) or not(false) or the currently set value shall be used(nil)

See Reaper_Config_Variables.html for more details on config-variables in Reaper.

returns false in case of an error

Parameters:
string varname the name of the config-variable
boolean set true, set this config-var; false, don't set it
optional boolean bit1 true, set this bit; false, don't set this bit; nil, use the currently set value
... true, set this bit; false, don't set this bit; nil, use the currently set value
optional boolean bit32 true, set this bit; false, don't set this bit; nil, use the currently set value

Returnvalues:
boolean retval true, getting/setting the config-var was successful; false, it wasn't successful
integer config_var_value the new/current value of the configuration-variable



^ Reaper version 5.40 SWS version 2.9.7 Ultraschall version 4.00SetIntConfigVar_Bitfield

Functioncall:
Lua: boolean retval, integer new_integer_bitfield = ultraschall.SetIntConfigVar_Bitfield(string configvar, boolean set_to, integer bit_1, integer bit_2, ... integer bit_n)

Description:

Alters an integer-bitfield stored by a ConfigVariable.

Returns false in case of error, like invalid bit-values, etc

Parameters:
string configvar the config-variable, that is stored as an integer-bitfield, that you want to alter.
boolean set_to true, set the bits to 1; false, set the bits to 0; nil, toggle the bits
integer bit1..n one or more parameters, that include the bitvalues toset/unset/toggle with 1 for the first bit; 2 for the second, 4 for the third, 8 for the fourth, etc

Returnvalues:
boolean retval true, if altering was successful; false, if not successful
integer new_integer_bitfield the newly altered bitfield




^ Reaper version 5.975 Ultraschall version 4.00FindPatternsInString

Functioncall:
Lua: integer count_found_items, array found_items = ultraschall.FindPatternsInString(string SourceString, string pattern, boolean sort_after_finding)

Description:

Finds all occurrences of matching-patterns in a string. You can sort them optionally.

returns -1 in case of an error


Parameters:
string SourceString the source-string to search for all occurences
string pattern the matching-pattern, with which to search for in the string
boolean sort_after_finding true, sorts the entries; false, doesn't sort the entries

Returnvalues:
integer count_found_items the number of found items in the string; -1, in case of an error
array found_items all occurrences found in the string as an array




^ Reaper version 5.77 Ultraschall version 4.00AddIntToChar

Functioncall:
Lua: string new_character = ultraschall.AddIntToChar(string character, integer int)

Description:

Adds/subtracts int to/from the numeric representation of character. It will return the new character.
It will not(!) include "overflows" into the adding/subtraction. That said, if you want to add a value resulting in a character above ASCII-code 255, it will fail!

Returns nil in case of an error

Parameters:
string character the character, onto which you want to add/subtract parameter int; only single character allowed
integer int the value, that you want to add to the numerical representation of parameter character

Returnvalues:
string new_character the new character, after parameter int has been added/subtracted from/to character



^ Reaper version 5.965 Ultraschall version 4.00Base64_Decoder

Functioncall:
Lua: string decoded_string = ultraschall.Base64_Decoder(string source_string, optional integer base64_type)

Description:

Converts a Base64-encoded string into a normal string. Currently, only standard Base64-encoding is supported.

Returns nil in case of an error


Parameters:
string source_string the Base64-encoded string
optional integer base64_type the Base64-decoding-style nil or 0, for standard default Base64-encoding

Returnvalues:
string decoded_string the decoded string



^ Reaper version 5.965 Ultraschall version 4.00Base64_Encoder

Functioncall:
Lua: string encoded_string = ultraschall.Base64_Encoder(string source_string, optional integer base64_type, optional integer remove_newlines, optional integer remove_tabs)

Description:

Converts a string into a Base64-Encoded string. Currently, only standard Base64-encoding is supported.

Returns nil in case of an error


Parameters:
string source_string the string that you want to convert into Base64
optional integer base64_type the Base64-decoding-style nil or 0, for standard default Base64-encoding
optional integer remove_newlines 1, removes \n-newlines(including \r-carriage return) from the string 2, replaces \n-newlines(including \r-carriage return) from the string with a single space
optional integer remove_tabs 1, removes \t-tabs from the string 2, replaces \t-tabs from the string with a single space

Returnvalues:
string encoded_string the encoded string



^ Reaper version 5.40 Ultraschall version 4.00CSV2IndividualLinesAsArray

Functioncall:
Lua: integer count, array individual_values = ultraschall.CSV2IndividualLinesAsArray(string csv_line, optional string separator)

Description:

convert a csv-string to an array of the individual values. If separator cannot be found, it'll return the original string

returns nil in case or error

Parameters:
string csv_line a string as a csv, with all values included and separated by parameter separator
string separator the separator, that separates the individual entries; use nil for commas; separators will be removed from the final strings!

Returnvalues:
integer count the number of entries
array individual_values all values, each in an individual array-position



^ Reaper version 5.40 Ultraschall version 4.00CSV2Line

Functioncall:
Lua: string values = ultraschall.CSV2Line(string csv_line)

Description:

converts a string of csv-values into a string with all values and without the ,-separators

returns nil in case of error

Returnvalues:
string values all values in one string



^ Reaper version 5.95 Ultraschall version 4.00CombineBytesToInteger

Functioncall:
Lua: integer retval = ultraschall.CombineBytesToInteger(integer bitoffset, integer Byte_1, optional Byte_2, ..., optional Byte_n)

Description:

Combines the Byte-values Byte_1 to Byte_n into one integer.
That means, if you give 4 values, it will return a 32bit-integer(4*8Bits).

Negative values will use the maximum possible value of that byte minus the bits.
In Byte_1, -2 will be 255-1=254, in Byte 2, -2 will be 65280-256=65024.

Use bitoffset to define, from which bit on you want to combine the values.

Returns -1 in case of an error

Parameters:
integer bitoffset if you want to start combining the values from a certain bitoffset-onwards, set the offset here; use 0 to start with the first bit.
integer Byte_1 a bytevalue that you want to combine into one
optional integer Byte_2 a bytevalue that you want to combine into one
optional integer Byte_n a bytevalue that you want to combine into one

Returnvalues:
integer retval the combined integer



^ Reaper version 5.40 Ultraschall version 4.00CompareArrays

Functioncall:
Lua: table diff_array = ultraschall.CompareArrays(table Array, table CompareArray2)

Description:

Compares Array using parameter CompareArray2 and returns an array with all entries in CompareArray2, that are not in Array.
The comparable arrays must be indexed by integer-numbers.

Returns nil in case of an error

Parameters:
table Array the reference-array
table CompareArray2 the array you want to check against Array; all entries in CompareArray2 that are not in Array will be returned

Returnvalues:
table diff_array an array with all entries from CompareArray2, that are not in Array



^ Reaper version 5.40 Ultraschall version 4.00CompareStringWithAsciiValues

Functioncall:
Lua: boolean retval, integer errorposition = ultraschall.CompareStringWithAsciiValues(string string, integer bytevalue_1, integer bytevalue_2, ... integer bytevalue_n)

Description:

Compares a string with a number of byte-values(like ASCII-values).
Bytevalues can be either decimal and hexadecimal.
-1, if you want to skip checking of a specific position in string.

Returns false in case of error

Parameters:
string string the string to check against the bytevalues
integer bytevalue_1..n one or more parameters, that include the bytevalues to check against the accompanying byte in string; -1, if you want to skip check for that position

Returnvalues:
boolean retval true, if check was successful; false, if not successful
integer errorposition if retval is false, this will contain the position in string, where the checking failed; nil, if retval is true



^ Reaper version 5.95 Ultraschall version 4.00ConcatIntegerIndexedTables

Functioncall:
Lua: integer numentries, array concatenated_table = ultraschall.ConcatIntegerIndexedTables(array table1, array table2)

Description:

Concatenates the entries of two tables into one table. The entries of each table must be indexed by integers

The new table still has the same references as the old table, means: if you remove the old tables/entries in the old tables, the concatenated table/accompanying entries will loose elements. To get a "true"-concatenated copy, you should first create new copies of the tables, using MakeCopyOfTable.


Parameters:
array table1 the first table to be concatenated; the entries must be indexed by integer-numbers!
array table2 the second table to be concatenated; the entries must be indexed by integer-numbers!

Returnvalues:
integer numentries the number of entries in the new table
array concatenated_table the new concatenated table



^ Reaper version 5.977 Ultraschall version 4.00ConvertAscii2Hex

Functioncall:
Lua: string hexstring = ultraschall.ConvertAscii2Hex(string ascii_string)

Description:

converts an ascii-string into a hexstring.

See ConvertHex2Ascii to convert a HEX-string into its normal string-representation.

Returns nil in case of an error


Parameters:
string ascii_string the converted string

Returnvalues:
string hexstring the original string with only hexadecimal numbers



^ Reaper version 5.965 Ultraschall version 4.00ConvertBitsToInteger

Functioncall:
Lua: integer integervalue = ultraschall.ConvertBitsToInteger(table bitvalues)

Description:

converts a table with all bitvalues into it's integer-representation.
each table-entry holds either a 1 or a 0;
  with index 1 being the first (for 1),
  index 2 for the second (for 2),
  index 3 for the third (for 4),
  index 4 for the fourth(for 8), etc

returns nil in case of an error

Parameters:
table bitvalues a table, where each entry contains the bit-value of integer; first entry for bit 1, 64th entry for bit 64, etc

Returnvalues:
integer integer the integer-number converted from the integer-entries



^ Reaper version 5.965 Ultraschall version 4.00ConvertBitsToString

Functioncall:
Lua: string message = ultraschall.ConvertBitsToString(array bitarray)

Description:

converts a table of bit-representation into a string

Every entry in the table must be either 0 or 1. If there are too few bits to fill up a byte, the missing bits will be seen as trailing 0-bits.

returns nil in case of an error

Parameters:
array bitarray the individual bits in a table, which will be converted into a string-representation each entry in the table must be either 0 or 1; missing bits at the end(usually nil) will be seen as 0

Returnvalues:
string message the converted bits as string-representation



^ Reaper version 5.977 Ultraschall version 4.00ConvertHex2Ascii

Functioncall:
Lua: string ascii_string = ultraschall.ConvertHex2Ascii(string hexstring)

Description:

converts a hexstring into an ascii-string.

Will combine two hexvalues into one byte, until the whole string is converted.

See ConvertAscii2Hex to convert a string into its HEX-representation.

Returns nil in case of an error


Parameters:
string hexstring the original string with only hexadecimal numbers

Returnvalues:
string ascii_string the converted string



^ Reaper version 5.965 Ultraschall version 4.00ConvertIntegerIntoString2

Functioncall:
Lua: string converted_value = ultraschall.ConvertIntegerIntoString2(integer Size, integer integervalue_1, ..., integer integervalue_n)

Description:

Splits numerous integers into its individual bytes and converts them into a string-representation.
Maximum 32bit-integers are supported.

Returns nil in case of an error.

Parameters:
integer Size the maximum size of the integer to convert, 1(8 bit) to 4(32 bit)
integer integervalue_1 the first integer value to convert from
...
integer integervalue_n the last integer value to convert from

Returnvalues:
string converted_value the string-representation of the integer



^ Reaper version 5.965 Ultraschall version 4.00ConvertIntegerToBits

Functioncall:
Lua: string bitvals_csv, table bitvalues = ultraschall.ConvertIntegerToBits(integer integer)

Description:

converts an integer-value(up to 64 bits) into it's individual bits and returns it as comma-separated csv-string as well as a table with 64 entries.

returns nil in case of an error

Parameters:
integer integer the integer-number to separated into it's individual bits

Returnvalues:
string bitvals_csv a comma-separated csv-string of all bitvalues, with bit 1 coming first and bit 32 coming last
table bitvalues a 64-entry table, where each entry contains the bit-value of integer; first entry for bit 1, 64th entry for bit 64



^ Reaper version 5.40 Ultraschall version 4.00ConvertStringToAscii_Array

Functioncall:
Lua: integer length, table byte_array = ultraschall.ConvertStringToAscii_Array(string string)

Description:

Converts a string into it's individual characters and numerical-representation as a table and after that returns its number of table-entries and the table.

Returns -1 if string isn't a valid string

Parameters:
string string the string to be converted

Returnvalues:
integer length the number of characters in the string/entries in the returned table byte_array
table byte_array the ByteArray as a table, with the format ByteArray[idx][1]="A" -- the byte itself ByteArray[idx][2]=65 -- the numerical representation of the byte



^ Reaper version 5.965 Ultraschall version 4.00ConvertStringToBits

Functioncall:
Lua: integer number_of_bits, array bitarray = ultraschall.ConvertStringToBits(string message)

Description:

converts a string into its bit-representation and returns that as a handy table

returns -1 in case of an error

Parameters:
string message the string, which you want to convert into its bit representation

Returnvalues:
integer number_of_bits the number of bits in the string, -1, in case of an error
array bitarray the individual bits as a handy table



^ Reaper version 5.965 Ultraschall version 4.00ConvertStringToIntegers

Functioncall:
Lua: integer num_integers, array individual_integers = ultraschall.ConvertStringToIntegers(string String, integer Size)

Description:

Converts a string into its integer-representation. Allows you to set the size of the integers between 1 Byte and 8 Bytes(64 bits).

Returns -1 in case of an error.

Parameters:
string String the string to convert into its integer representation
integer Size the size of the integers. 1 for 8 bits, 2 for 16 bits, ..., 8 for 64 bits

Returnvalues:
integer num_integers the number of integers converted from this string
array individual_integers the individual integers, as converted from the original string



^ Reaper version 5.40 Ultraschall version 4.00CountCharacterInString

Functioncall:
Lua: integer count, array positions = ultraschall.CountCharacterInString(string checkstring, string character)

Description:

Counts, how often character appears in checkstring and returns the count, as well as a array an with the position-numbers.

returns -1 in case of error

Parameters:
string checkstring the string to check search through
string character the character to search for. Only single characters are allowed. Controlcodes like \n \t count as single character. Case sensitive.

Returnvalues:
integer count the number of occurences of character in checkstring
array positions the positionnumbers of the character in checkstring



^ Reaper version 5.40 Ultraschall version 4.00CountEntriesInTable_Main

Functioncall:
Lua: integer count, table subtables, integer count_of_subtables = ultraschall.CountEntriesInTable_Main(table the_table)

Description:

Counts the number of entries in an indexed table.
Will only count the entries from the main-table, not it's subtables. If you want to know the number of subtables, this function returns a table that includes all subtables found in the main-table,
as well as the number of found subtables.

Returns -1 if table isn't a valid table

Parameters:
table table the table, whose entries you want to count

Returnvalues:
integer count the number of entries in the table
table subtables if an entry of table has a table as value, that table-value will be included in this subtables-table(for recursive counting-usecases)
integer count_of_subtables the number of entries in the subtables-table



^ Reaper version 5.77 Ultraschall version 4.00CountLinesInString

Functioncall:
Lua: integer number_of_lines = ultraschall.CountLinesInString(string String)

Description:

Counts the lines in a string. It counts them by counting \n-newlines(not carriage returns!)

Returns -1 in case of an error

Parameters:
string String the string to count the lines of

Returnvalues:
integer number_of_lines number of lines of the string



^ Reaper version 5.52 Ultraschall version 4.00CountPatternInString

Functioncall:
Lua: integer count, array positions = ultraschall.CountPatternInString(string sourcestring, string searchstring, boolean non_case_sensitive)

Description:

returns the count and an array with all positions of searchstring in sourcestring.

Parameters:
string sourcestring the string, you want to search through
string searchstring the string, you want to search for in sourcestring
boolean non_case_sensitive true, the search does not care about case-sensitivity; false, case of searchstring will be kept

Returnvalues:
integer count the number of appearances of searchstring in sourcestring
array positions an array with count-entries, where every entry contains the position of searchstring in sourcestring



^ Reaper version 5.95 Ultraschall version 4.00CycleTable

Functioncall:
Lua: table new_table = ultraschall.CycleTable(table the_table, integer offset)

Description:

Cycles the entries by offset. Offset can be positive(cycle forward) or negative(cycle negative). The number also tells the function, by how many entries the table shall be cycled, with 1 for one entry, 2 for 2 entries, etc.
Entries "falling out" of one side(top or bottom) of the table will be readded on the other side.

returns nil in case of error

Parameters:
table the_table the table to cycle through
integer offset the offset, by which to cycle the entries through; positive, cycle entries forward; negative, cycle entries backward

Returnvalues:
table new_table the altered table



^ Reaper version 5.965 Ultraschall version 4.00DB2MKVOL

Functioncall:
Lua: number mkvol_value = ultraschall.DB2MKVOL(number db_value)

Description:

Converts an dB-value into a MKVOL-value.

MKVOL-values are used by the routing-functions for HWOut/AUXSendReceive, specifically for their volume-value as these can't be converted using Reaper's own DB2SLIDER or SLIDER2DB, so this function should help you.

See MKVOL2DB to convert a MKVOL-value into it's dB-representation

returns nil in case of an error


Parameters:
number db_value the dB-value, that you want to convert into the MKVOL-value; minimum is -144dB

Returnvalues:
number mkvol_value the mkvol-value, converted from the dB-value



^ Reaper version 6.05 Ultraschall version 4.1EscapeMagicCharacters_String

Functioncall:
Lua: string escaped_string = ultraschall.EscapeMagicCharacters_String(string sourcestring)

Description:

Escapes the magic characters(needed for pattern matching), so the string can be fed as is into string.match-functions.
    That way, characters like . or - or * etc do not trigger pattern-matching behavior but are used as regular . or - or * etc.

returns nil in case of an error

Parameters:
string sourcestring the string, whose magic characters you want to escape for future use

Returnvalues:
string escaped_string the string with all magic characters escaped



^ Reaper version 5.77 Ultraschall version 4.00GetAllEntriesFromTable

Functioncall:
Lua: integer count, table foundtypes, table returned_table = ultraschall.GetAllEntriesFromTable(table table)

Description:

Gets an iterable version of table. Good for analysing unknown tables.

Returns the number of entries, a table(array) with the datatypes of each entry and the table with all it's entries in the same order as in the foundtypes-table.

This doesn't treat table recursivley, means: each "Subtable" within the table is treated as one entry of the type "table". That means, that these tables must be analysed themselves in an extra step!
A[1]=1
A[2][1]=2
A[2][2]=3.4
will return two(!) entries, the first being of type "integer", the second being of type "table". Next step would be to run use this function to analyse A[2] as well, which would result in two entries: the first being of type "integer" and the second of type "float", etc.

returns -1 in case of error

Parameters:
table table the table to get the individual entries from

Returnvalues:
integer count the number of table-entries found
table foundtypes a table, with count-entries, each entry having the type of each entry in the returned_table as string. The types can be "nil", "integer", "float", "string", "boolean", "table", "function", "thread", "userdata"
table returned_table an iterable version of table. The type of each entry can be found in the accompanying entry of foundtypes the format is returned_table[indexnr][1] - indexname/number of the original table-entry returned_table[indexnr][2] - the value of the original table-entry the indexnr is 1 to count, while [indexnr][1] is the indexnr of the original-table-entry, which might be a string, functionname or something else as well



^ Reaper version 5.95 Ultraschall version 4.00GetDuplicatesFromArrays

Functioncall:
Lua: integer duplicate_count, array duplicate_array, integer originalscount_array1, array originals_array1, integer originalscount_array2, array originals_array2 = ultraschall.GetDuplicatesFromArrays(array array1, array array2)

Description:

Returns the duplicates and the originals(entries only in one of the arrays) of two arrays. It will also return the number of entries.

This works only on arrays with integer-indexed entries; index must start with index 1!

returns -1 in case of an error

Parameters:
array array1 the first array to check for duplicates and "original"-entries
array array2 the second array to check for duplicates and "original"-entries

Returnvalues:
integer duplicate_count the number of entries in both arrays
array duplicate_array the entries in both arrays
integer originalscount_array1 the number of entries only in array1
array originals_array1 the entries that are only existing in array1
integer originalscount_array2 the number of entries only in array2
array originals_array2 the entries that are only existing in array2



^ Reaper version 5.40 Ultraschall version 4.00GetPartialString

Functioncall:
Lua: string partial_string = ultraschall.GetPartialString(string str, string sep1, string sep2)

Description:

returns the part of a filename-string between sep1 and sep2

returns nil if it doesn't work, no sep1 or sep2 exist

Parameters:
string str string to be processed
string sep1 separator on the "left" side of the partial string
string sep2 separator on the "right" side of the partial string

Returnvalues:
string partial_string the partial string between sep1 and sep2



^ Reaper version 5.77 Ultraschall version 4.1IsValidMatchingPattern

Functioncall:
Lua: boolean retval = ultraschall.IsValidMatchingPattern(string patstring)

Description:

Returns, if patstring is a valid pattern-matching-string

Parameters:
string patstring the string to check for, if it's a valid pattern-matching-string

Returnvalues:
boolean retval true, patstring is a valid pattern-matching-string; false, patstring isn't a valid pattern-matching-string



^ Reaper version 5.40 Ultraschall version 4.00KeepTableEntriesOfType

Functioncall:
Lua: table alteredtable = ultraschall.KeepTableEntriesOfType(table worktable, string keeptype)

Description:

Removes all entries from worktable, that are not of the datatype as given by keeptype.

returns nil in case of error

Parameters:
table worktable the unaltered source-table for processing
string keeptype the type that shall remain in table allowed are boolean, integer, float, number, table, string, userdata, thread, ReaProject, MediaTrack, MediaItem, MediaItem_Take, TrackEnvelope, PCM_source

Returnvalues:
table alteredtable the table, that contains only the entries of the type as given by parameter keeptype



^ Reaper version 6.16 Ultraschall version 4.2LimitFractionOfFloat

Functioncall:
Lua: number altered_number = ultraschall.LimitFractionOfFloat(number number, integer length_of_fraction)

Description:

limits the fraction of a float-number to a specific length of fraction(digits). You can also choose to round the value or not.

returns nil in case of error

Parameters:
number number the number, whose fraction shall be limited
integer length_of_fraction the number of digits in the fraction

Returnvalues:
number altered_number the altered number with the new fraction-length. Will be equal to parameter number, if number was integer or fraction less digits than length_of_fraction



^ Reaper version 5.965 Ultraschall version 4.00MKVOL2DB

Functioncall:
Lua: number db_value = ultraschall.MKVOL2DB(number mkvol_value)

Description:

Converts an MKVOL-value into a dB-value.

MKVOL-values are used by the routing-functions for HWOut/AUXSendReceive, specifically for their volume-value as these can't be converted using Reaper's own DB2SLIDER or SLIDER2DB, so this function should help you.

This function is an adapted one from the function provided in Plugins/reaper_www_root/main.js

See DB2MKVOL to convert a dB-value into it's MKVOL-representation

returns nil in case of an error


Parameters:
number mkvol_value the mkvol_value, that you want to convert into dB

Returnvalues:
number db_value the dB-value, converted from the MKVOL-value; minimum -144dB



^ Reaper version 5.40 Ultraschall version 4.00MakeCopyOfTable

Functioncall:
Lua: table table_copy = ultraschall.MakeCopyOfTable(table table)

Description:

Creates a true copy of a table(not only references).

adapted from Tyler Neylon's function, found at Stack Overflow

Returns nil if table isn't a valid table


Parameters:
table table the table to create a copy from.

Returnvalues:
table table_copy the true copy of the table; nil in case of error



^ Reaper version 5.40 Ultraschall version 4.00Notes2CSV

Functioncall:
Lua: string csv_retval = ultraschall.Notes2CSV()

Description:

Gets the project's notes and returns it as a CSV.

Returnvalues:
string csv_retval the project notes, returned as a csv-string; entries separated by a comma



^ Reaper version 5.40 Ultraschall version 4.00RemoveTableEntriesOfType

Functioncall:
Lua: table alteredtable = ultraschall.RemoveTableEntriesOfType(table worktable, string removetype)

Description:

Removes all entries from worktable, that are of the datatype as given by removetype.

returns nil in case of error

Parameters:
table worktable the unaltered source-table for processing
string removetype the type that shall be removed from table allowed are boolean, integer, float, number, table, string, userdata, ReaProject, MediaTrack, MediaItem, MediaItem_Take, TrackEnvelope, PCM_source

Returnvalues:
table alteredtable the table, that contains only the entries that are nt of the type as given by parameter removetype



^ Reaper version 5.965 Ultraschall version 4.00ReplacePartOfString

Functioncall:
Lua: string replaced_string = ultraschall.ReplacePartOfString(string originalstring, string insertstring, integer offset, optional integer length)

Description:

replaces a part of a string with a second string

Returns nil in case of an error

Parameters:
string originalstring the originalstring, in which you want to insert the string
string insertstring the string that shall be inserted
integer offset the position, at which to insert the string; it is the position BEFORE the position at which to insert, so if you want to replace the 25th character, offset is 24!
optional integer length the length of the part of the originalstring that shall be replaced, counted from offset. 0 or nil for simple insertion.

Returnvalues:
string replaced_string the altered string



^ Reaper version 5.982 Ultraschall version 4.00ReplacePatternInString

Functioncall:
Lua: string altered_string, boolean replaced = ultraschall.ReplacePatternInString(string OriginalString, string pattern, string replacestring, integer index)

Description:

Replaces the index'th occurrence of pattern in OriginalString with replacepattern.

Unlike string.gsub, this replaces only the selected pattern!

returns nil, false in case of an error


Parameters:
string OriginalString the string, from which you want to replace a specific occurence of a matching pattern
string pattern the pattern to look for
string replacestring the string, which shall replace the found pattern
integer index the number of found occurence of the pattern in the string, which shall be replaced

Returnvalues:
string altered_string the altered string, where the n'th occurence of the pattern has been replaced
boolean replaced true, there has been a replacement; false, no replacement has happened



^ Reaper version 5.92 Ultraschall version 4.00ReturnTableAsIndividualValues

Functioncall:
Lua: retval1, retval2, retval3, ... , retval64 = ultraschall.ReturnTableAsIndividualValues(table Table)

Description:

Returns the first 64 entries of an numerical-indexed table as returnvalues

Parameters:
table Table the table, whose values you want to return. It will only return values with index 1...64!

Returnvalues:
retval1 ... retval64 the values from Table returned



^ Reaper version 5.965 Ultraschall version 4.00ReverseEndianess_Byte

Functioncall:
Lua: integer newbyte = ultraschall.ReverseEndianess_Byte(integer byte)

Description:

reverses the endianess of a byte and returns this as value.
The parameter byte must be between 0 and 255!

returns nil in case of an error

Parameters:
integer byte the integer whose endianess you want to reverse

Returnvalues:
integer newbyte the endianess-reversed byte



^ Reaper version 5.40 Ultraschall version 4.00ReverseTable

Functioncall:
Lua: table reversed_table, integer entry_count = ultraschall.ReverseTable(table the_table)

Description:

reversed the order of the entries of a table, means, the last entry will become the first, the first become the last, etc.
The table must be indexed by integers.

Returns nil if table isn't a valid table

Parameters:
table table the table, whose entries you want to reverse

Returnvalues:
table reversed_table the resulting table with the reversed order of all entries
integer entry_count the number of entries in the reversed_table



^ Reaper version 5.40 Ultraschall version 4.00RoundNumber

Functioncall:
Lua: integer retval = ultraschall.RoundNumber(number num)

Description:

returns a rounded value of the parameter number. %.5 and higher rounds up, lower than %.5 round down.

returns nil in case of an error

Parameters:
number num the floatingpoint number, you'd like to have rounded.

Returnvalues:
integer retval the rounded number



^ Reaper version 5.77 Ultraschall version 4.00SearchStringInString

Functioncall:
Lua: integer count, array posarray = ultraschall.SearchStringInString(string fullstring, string searchstring)

Description:

Searches for the string searchstring in fullstring.

Keep in mind: Umlauts may produce multibyte-values. Therefore, the returned offsets might be confusing.

returns -1 in case of error, 0 if string wasn't found

Parameters:
string fullstring the string to be searched through
string searchstring the string to search for within fullstring

Returnvalues:
integer count the number of found occurences of searchstring in fullstring
array posarray an array that contains the positions, where searchstring was found within fullstring



^ Reaper version 5.40 SWS version 2.8.8 Ultraschall version 4.00SecondsToTime

Functioncall:
Lua: string time_string = ultraschall.SecondsToTime(number pos)

Description:

converts timeposition in seconds(pos) to a timestring (h)hh:mm:ss.mss

returns nil in case of error

Parameters:
number pos timeposition in seconds

Returnvalues:
string time_string timestring in (h)hh:mm:ss.mss



^ Reaper version 5.40 Ultraschall version 4.00SecondsToTimeString_hh_mm_ss_mss

Functioncall:
Lua: string timestring = ultraschall.SecondsToTimeString_hh_mm_ss_mss(number time)

Description:

Converts the parameter time into a timestring of the format hh:mm:ss.mss
Valid timeranges are from 0 to 359999.99 seconds(about 99 hours).

returns -1 in case of error

Parameters:
number time the time in seconds to be converted into the timestring

Returnvalues:
string timestring the converted timestring. It will always follow the format hh:mm:ss.mss and fill up digits with zeros, if necessary.



^ Reaper version 5.40 Ultraschall version 4.00SetBitfield

Functioncall:
Lua: integer new_integer_bitfield = ultraschall.SetBitfield(integer integer_bitfield, boolean set_to, integer bit_1, integer bit_2, ... integer bit_n)

Description:

Alters an integer-bitfield.

Returns nil in case of error, like invalid bit-values

Parameters:
integer integer_bitfield the old integer-bitfield that you want to alter
boolean set_to true, set the bits to 1; false, set the bits to 0; nil, toggle the bits
integer bit1..n one or more parameters, that include the bitvalues toset/unset/toggle with 1 for the first bit; 2 for the second, 4 for the third, 8 for the fourth, etc

Returnvalues:
integer new_integer_bitfield the newly altered bitfield



^ Reaper version 5.95 Ultraschall version 4.00SplitIntegerIntoBytes

Functioncall:
Lua: integer Byte1, integer Byte2, integer Byte3, integer Byte4 = ultraschall.SplitIntegerIntoBytes(integer integervalue)

Description:

Splits a 32-bit-integer-value into four bytes.

Returns -1 in case of an error

Parameters:
integer integeroffset the integer-value that you want to split into individual bytes

Returnvalues:
integer Byte1 the first eight bits of the integer-value as a Byte
integer Byte2 the second eight bits of the integer-value as a Byte
integer Byte3 the third eight bits of the integer-value as a Byte
integer Byte4 the fourth eight bits of the integer-value as a Byte



^ Reaper version 5.40 Ultraschall version 4.00SplitStringAtLineFeedToArray

Functioncall:
Lua: integer count, array split_string = ultraschall.SplitStringAtLineFeedToArray(string unsplitstring)

Description:

Splits the string unsplitstring at linefeed/tabs/control characters and puts each of these splitpieces into an array, each splitpiece one array-entry.
The linefeeds will not(!) be returned in the array's entries.
Returns the number of entries in the array, as well as the array itself
If there are no control characters or linefeeds in the string, the array will have only one entry with unsplitstring in it.
  
  returns -1 in case of failure

Parameters:
string unsplitstring the string, that shall be split at LineFeed/Tabs/Control Characters. Nil is not allowed.

Returnvalues:
integer count number of entries in the split_string-array
array split_string an array with all the individual "postsplit"-pieces of the string



^ Reaper version 5.941 Ultraschall version 4.00SplitStringAtNULLBytes

Functioncall:
Lua: integer count, array split_strings = ultraschall.SplitStringAtNULLBytes(string splitstring)

Description:

Splits splitstring into individual string at NULL-Bytes.

returns -1 in case of an error

Parameters:
string splitstring the string with NULL-Bytes(\0) into it, that you want to split

Returnvalues:
integer count the number of found strings
array split_strings the found strings put into an array



^ Reaper version 5.965 Ultraschall version 4.00StateChunkLayouter

Functioncall:
Lua: string layouted_statechunk = ultraschall.StateChunkLayouter(string statechunk)

Description:

Layouts StateChunks as returned by GetTrackStateChunk or GetItemStateChunk into a format that resembles the formatting-rules of an rpp-file.
This is very helpful, when parsing such a statechunk, as you can now use the number of spaces used for intendation as help parsing.
Usually, every new element, that starts with < will be followed by none or more lines, that have two spaces added in the beginning.
Example of a MediaItemStateChunk(I use . to display the needed spaces in the beginning of each line):

<ITEM
..POSITION 6.96537864205337
..SNAPOFFS 0
..LENGTH 1745.2745
..LOOP 0
..ALLTAKES 0
..FADEIN 1 0.01 0 1 0 0
..FADEOUT 1 0.01 0 1 0 0
..MUTE 0
..SEL 1
..IGUID {020E6372-97E6-4066-9010-B044F67F2772}
..IID 1
..NAME myaudio.flac
..VOLPAN 1 0 1 -1
..SOFFS 0
..PLAYRATE 1 1 0 -1 0 0.0025
..CHANMODE 0
..GUID {79F087CE-49E8-4212-91F5-8487FBCF10B1}
..<SOURCE FLAC
....FILE "C:\Users\IncredibleSupergirl\Desktop\X_audiofile.flac"
..>
>


This function will not check, if you've passed a valid statechunk!

returns nil in case of an error

Parameters:
string statechunk a statechunk, that you want to layout properly

Returnvalues:
string layouted_statechunk the statechunk, that is now layouted to the rules of rpp-projectfiles



^ Reaper version 5.40 Ultraschall version 4.00TimeStringToSeconds_hh_mm_ss_mss

Functioncall:
Lua: number time = ultraschall.TimeStringToSeconds_hh_mm_ss_mss(string timestring)

Description:

Converts the parameter timestring of the format hh:mm:ss.mss into seconds
The timestring must follow strictly this format, or the function returns -1 as result.

returns -1 in case of error

Parameters:
string timestring the converted timestring. It must always follow the format hh:mm:ss.mss. Fill up digits with zeros, if necessary.

Returnvalues:
number time the time in seconds to be converted into the timestring, -1 in case of an error



^ Reaper version 5.40 SWS version 2.8.8 Ultraschall version 4.00TimeToSeconds

Functioncall:
Lua: number position = ultraschall.TimeToSeconds(string timestring)

Description:

converts a timestring days:hours:minutes:seconds.milliseconds to timeposition in seconds
it is ok, to have only some of the last ones given, so i.e. excluding days and hours is ok. Though excluding values inbetween does not work!

A single integer in timestring will be seen as seconds.
To only specifiy milliseconds in particular, start the number with a .
all other values are separated by :

returns -1 in case of error, timestring is a nil or if you try to add an additional value, added before days

does not check for valid timeranges, so 61 minutes is possible to give, even if hours are present in the string

Parameters:
string timestring a string like: days:hours:minutes:seconds.milliseconds , i.e. 1:16:27:50.098

Returnvalues:
number position the converted position




^ Reaper version 6.02 Ultraschall version 4.00FloatCompare

Functioncall:
Lua: boolean retval, number diff = ultraschall.FloatCompare(number a, number b, number precision)

Description:

Compares two floatvalues and allows to set the precision to copmare against.

So, if you want to compare 5.1 and 5.2, using precision=0.2 returns true(is equal), precision=0.1 returns false(isn't equal).

Returns nil in case of failure.

Parameters:
number a the first float-number to compare
number b the second float-number to compare
number precision the precision of the fraction, like 0.1 or 0.0063

Returnvalues:
boolean retval true, numbers are equal; false, numbers aren't equal
number diff the difference between numbers a and b



^ Reaper version 5.40 Ultraschall version 4.00ReturnTypeOfReaperObject

Functioncall:
Lua: string objecttype = ultraschall.ReturnTypeOfReaperObject(Reaperobject object)

Description:

returns the type of a Reaper-object.

Parameters:
Reaperobject object a Reaper-object of the following types: ReaProject, MediaTrack, MediaItem, MediaItem_Take, TrackEnvelope, PCM_source returns None if the object isn't a valid Reaper-object

Returnvalues:
string objecttype the type of the parameter of object the following types can be returned: ReaProject, MediaTrack, MediaItem, MediaItem_Take, TrackEnvelope, PCM_source, None



^ Reaper version 5.40 Ultraschall version 4.00toboolean

Functioncall:
Lua: boolean retval = toboolean(string value)

Description:

Converts the string "value" to a boolean, if applicable; means: if it contains either true or false in it.
If it contains both or other characters(except spaces or tabs), it will not convert.
Works basially like Lua's own tostring() or tonumber()-functions.

Returns nil, if conversion isn't possible.

Note: Unlike other ultraschall-api-functions, toboolean() has no ultraschall. in it's functionname!

Parameters:
string value the value to be converted to a boolean. True and false can be upper-, lower and camelcase.

Returnvalues:
boolean retval true or false, depending on the input variable value



^ Reaper version 5.77 Ultraschall version 4.00type

Functioncall:
Lua: string type_of_object, optional boolean isnumber = ultraschall.type(identifier object)

Description:

Returns the type of the object.
Supported types are Lua's own datatypes as well as Reaper's own datatypes.

Due API-limitations, SWS-specific datatypes are not supported in this function!

Parameters:
identifier object the object, whose type you want to know

Returnvalues:
string type_of_object the type of the object; the following are valid: nil, number: integer, number: float, boolean, string, function, table, thread, userdata, ReaProject, MediaItem, MediaItem_Take, MediaTrack, TrackEnvelope, AudioAccessor, joystick_device, PCM_source userdata will be shown, if object isn't of any known type
optional boolean isnumber true, if object is a number(either integer or number)




^ Reaper version 5.95 Ultraschall version 4.00PingMe

Functioncall:
Lua: string pingmessage = PingMe(optional string message, optional integer outputtarget)

Description:

Shows the current script and line of script-execution, optionally with a message.

This is for debugging-purposes. For instance, if you want to know, if an if-statement is working as you expect it, just add
PingMe() into that if-statement.
It will show a message including linenumbers, when the if-statement is going through.

You can also choose, whether to output the message into ReaConsole, Messagebox or clipboard(including culminating options)

Parameters:
optional string message an optional message shown
optional integer outputtarget 0, don't show a message 1, output the pingme-message into ReaScript-console 2 or nil, show a messagebox 3, output it into the clipboard 4, add it to the end of the contents of the clipboard 5, add it to the beginning of the contents of the clipboard

Returnvalues:
string pingmessage returns the pingmessage



^ Reaper version 5.965 Ultraschall version 4.00deprecated

Functioncall:
Lua: ultraschall.deprecated(string functionname)

Description:

If you have a 3rd-party function added to Ultraschall-API, which you want to deprecate, use this function to show a warning message, if that function is used.

It will be shown once when running the script, after (re-)start of Reaper.

That way, you can tell scripters, whether they need to update their scripts using newer/better functions. This is probably shown first to the user, who knows that way a potential problem and can tell the scripter about that.

If there is a line "Author: authorname" in the file(as usual for ReaPack-compatible scripts), it will show the scripter's name in the dialog.


Returnvalues:
boolean retval true, defer-instance is running; false, defer-instance isn't running




^ Reaper version 5.975 Ultraschall version 4.00ConvertFunction_FromBase64String

Functioncall:
Lua: function function = ultraschall.ConvertFunction_FromBase64String(string BASE64_functionstring)

Description:

Loads a function from a BASE64-string.

To convert a function into a BASE64-string, use ConvertFunction_ToBase64String

Returns nil in case of an error


Parameters:
string BASE64_functionstring the function, stored as BASE64-string

Returnvalues:
function func the loaded function



^ Reaper version 5.975 Ultraschall version 4.00ConvertFunction_FromHexString

Functioncall:
Lua: function function = ultraschall.ConvertFunction_FromHexString(string HEX_functionstring)

Description:

Loads a function from a HEX-string.

To convert a function into a HEX-string, use ConvertFunction_ToHexString

Returns nil in case of an error


Parameters:
string HEX_functionstring the function, stored as HEX-string

Returnvalues:
function func the loaded function



^ Reaper version 5.975 Ultraschall version 4.00ConvertFunction_ToBase64String

Functioncall:
Lua: string BASE64_functionstring = ultraschall.ConvertFunction_ToBase64String(function to_convert_function, boolean debug)

Description:

Converts a function into a BASE64-string.

To load a function from a BASE64-string, use ConvertFunction_FromBase64String

Returns nil in case of an error


Parameters:
function to_convert_function the function, that you want to convert
boolean debug true, store debug-information as well; false, only store function

Returnvalues:
string BASE64_functionstring the function, stored as BASE64-string



^ Reaper version 5.975 Ultraschall version 4.00ConvertFunction_ToHexString

Functioncall:
Lua: string HEX_functionstring = ultraschall.ConvertFunction_ToHexString(function to_convert_function, boolean debug)

Description:

Converts a function into a HEX-string.

To load a function from a HEX-string, use ConvertFunction_FromHexString

Returns nil in case of an error


Parameters:
function to_convert_function the function, that you want to convert
boolean debug true, store debug-information as well; false, only store function

Returnvalues:
string HEX_functionstring the function, stored as HEX-string



^ Reaper version 5.92 Ultraschall version 4.00MakeFunctionUndoable

Functioncall:
Lua: boolean retval, string current_UndoMessage, retvals_1, ..., retvals_2 = ultraschall.MakeFunctionUndoable(function Func, string UndoMessage, integer Flag, Func_parameters_1, ... Func_parameters_n)

Description:

Run the function Func and create an undopoint for this function. You can also give an UndoMessage and a flag for Reaper to use.
All parameters needed by Func follow after parameter Flag, as if it would be the normal parameters.
This should make creating undo-points much much easier...

Note: Reaper will use the undo-point only for functions, who do "undo"-able things. If you don't have something of that kind(no creating a track or something), Reaper will not create an undo-point.

Returns false in case of an error

Parameters:
function Func the function, that you want to create an undo-point for
string UndoMessage the undo-message to be displayed by Reaper in the Undo-history
integer Flag you can set a flag, if you want, for this undo-point
Func_parameters_1, ... Func_parameters_n the parameters, as needed by the function Func; will be given to Func as provided by you

Returnvalues:
boolean retval true, undoing was successful; false, undoing wasn't successful
string current_UndoMessage the current UndoMessage for the last action done by Reaper. Use this so see, if getting an undo-point was successful
retvals_1 ... retvals_2 the returnvalues, as returned by function Func



^ Reaper version 5.965 Ultraschall version 4.00RunLuaSourceCode

Functioncall:
Lua: boolean retval = ultraschall.RunLuaSourceCode(string code)

Description:

runs the Lua-code stored in the parameter code

Does not check for validity and syntaxerrors in the code!

You can also add new callable functions that way. Just put function-declarations in the parameter code.

For instance from the following code:

code=function main() reaper.MB("I'm only run, when my parent function main is called", "", 0) end

   reaper.MB("I'm run immediately", "", 0)"

when called by

ultraschall.RunLuaSourceCode(code)

only the line reaper.MB("I'm run immediately", "", 0) will be run immediately. If you want to run the function main as well, you need to explicitly call it with main()

returns false in case of an error; nil, in case of an syntax/lua-error in the code itself


Parameters:
string code the code, that you want to execute; you can also add new functions that way

Returnvalues:
boolean retval true, code was run successfully; false, code wasn't successfully; nil, code had an error in it, probably syntax error



^ Reaper version 5.975 Ultraschall version 4.00StoreFunctionInExtState

Functioncall:
Lua: boolean retval = ultraschall.StoreFunctionInExtState(string section, string key, function func, boolean debug)

Description:

Stores a function into an extstate. You can store it's debug-information as well.

To load the function again, use LoadFunctionFromExtState

Returns false in case of an error


Parameters:
string section the sectionname of the extstate
string key the keyname of the extstate
function func the function, that you want to store
boolean debug true, store debug-values as well; false, don't store the debug-values as well

Returnvalues:
boolean retval true, setting was successful; false, it was unsuccessful




^ Reaper version 6.10 Ultraschall version 4.2GMem_GetValues_VideoSamplePeeker

Functioncall:
Lua: number play_pos, integer samplerate, integer num_channels, integer requested_samplebuffer_length, table samplebuffer = ultraschall.GMem_GetValues_VideoSamplePeeker(optional integer samplesize)

Description:

For usage together with the JSFX-fx- "Video Sample Peeker", which sends samples to a gmem, that can be used(for instance by video processor's presets "Synthesis: Decorative Oscilloscope with Blitter" and "Synthesis: Decorative Spectrum Analyzer").

Ths returns all important values and the samples-values.

You need to use the samples according to samplerate and number of channels to be able to do something with it.

The overall maximum sample-buffer provided by the JSFX is 2 seconds.

Returns nil in case of an error


Parameters:
optional integer samplesize the samplesize you want to get; nil, return the whole 2-seconds-samplebuffer(takes a lot of resources)

Returnvalues:
number play_pos the playposition, when the sample has been re
integer samplerate the samplerate of the sampledata
integer num_channels the number of channels within the sampledata
integer requested_samplebuffer_length the length of the requested buffer; maximum is the number of values for about 2 seconds
table samplebuffer the values themselves



^ Reaper version 6.10 Ultraschall version 4.2GMem_Read_ValueRange

Functioncall:
Lua: table gmem_values = ultraschall.GMem_Read_ValueRange(integer startindex, integer number_of_indices, optional boolean use_gmem_indices_for_table, optional string gmem_attachname)

Description:

Returns a table with all values of a gmem between startindex and startindex+numberofindices. You can optionally set a specific gmem-attachname or leave it blank to get the values from the currently attached gmem.

Set usegmemindicesfortable=true, so have the index of the table reflect the index of the gmems.

Note: Keep in mind, that requesting tons of gmem-values will use up a lot of resources, so to to just get, what you need to avoid hanging gui.

Returns nil in case of an error


Parameters:
integer startindex the first index you want to request; must be 0 or higher
integer number_of_indices the number of values to request, from startindex onwards
optional boolean use_gmem_indices_for_table true, index the table according to gmem-index; false or nil, just index from 1 onwards
optional string gmem_attachname the attached gmem, from which you want to get the values; nil, use the currently attached gmem

Returnvalues:
table gmem_values the requested values.



^ Reaper version 6.02 Ultraschall version 4.1Gmem_GetCurrentAttachedName

Functioncall:
Lua: string current_gmem_attachname = ultraschall.Gmem_GetCurrentAttachedName()

Description:

returns nil if no gmem had been attached since addition of Ultraschall-API to the current script

Returnvalues:
string current_gmem_attachname the name of the currently attached gmem




^ Reaper version 5.975 SWS version 2.9.7 Ultraschall version 4.1SetLiceCapExe

Functioncall:
Lua: boolean retval = ultraschall.SetLiceCapExe(string PathToLiceCapExecutable)

Description:

Sets the path and filename of the LiceCap-executable

Note: Doesn't work on Linux, as there isn't a Linux-port of LiceCap yet.

Returns false in case of error.

Parameters:
string SetLiceCapExe the LiceCap-executable with path

Returnvalues:
boolean retval false in case of error; true in case of success



^ Reaper version 5.975 SWS version 2.9.7 Ultraschall version 4.1SetupLiceCap

Functioncall:
Lua: boolean retval = ultraschall.SetupLiceCap(string output_filename, string title, integer titlems, integer x, integer y, integer right, integer bottom, integer fps, integer gifloopcount, integer stopafter, integer prefs)

Description:

Sets up an installed LiceCap-instance.

To choose the right LiceCap-version, run the action 41298 - Run LICEcap (animated screen capture utility)

Note: Doesn't work on Linux, as there isn't a Linux-port of LiceCap yet.

Returns false in case of error.

Parameters:
string output_filename the output-file; you can choose whether it shall be a gif or an lcf by giving it the accompanying extension "mylice.gif" or "milice.lcf"; nil, keep the current outputfile
string title the title, which shall be shown at the beginning of the licecap; newlines will be exchanged by spaces, as LiceCap doesn't really support newlines; nil, keep the current title
integer titlems how long shall the title be shown, in milliseconds; nil, keep the current setting
integer x the x-position of the LiceCap-window in pixels; nil, keep the current setting
integer y the y-position of the LiceCap-window in pixels; nil, keep the current setting
integer right the right side-position of the LiceCap-window in pixels; nil, keep the current setting
integer bottom the bottom-position of the LiceCap-window in pixels; nil, keep the current setting
integer fps the maximum frames per seconds, the LiceCap shall have; nil, keep the current setting
integer gifloopcount how often shall the gif be looped?; 0, infinite looping; nil, keep the current setting
integer stopafter stop recording after xxx milliseconds; nil, keep the current setting
integer prefs the preferences-settings of LiceCap, which is a bitfield; nil, keep the current settings &1 - display in animation: title frame - checkbox &2 - Big font - checkbox &4 - display in animation: mouse button press - checkbox &8 - display in animation: elapsed time - checkbox &16 - Ctrl+Alt+P pauses recording - checkbox &32 - Use .GIF transparency for smaller files - checkbox &64 - Automatically stop after xx seconds - checkbox

Returnvalues:
boolean retval false in case of error; true in case of success




^ Reaper version 5.975 Ultraschall version 4.00LoadFunctionFromExtState

Functioncall:
Lua: function function = ultraschall.LoadFunctionFromExtState(string section, string key)

Description:

Loads a function from an extstate, if it has been stored in there before. The extstate must contain a valid function. If something else is stored, the loaded "function" might crash Lua!

To store the function, use StoreFunctionInExtState

Returns false in case of an error


Parameters:
string section the sectionname of the extstate
string key the keyname of the extstate

Returnvalues:
function func the stored function, that you want to (re-)load




^ Reaper version 5.965 Ultraschall version 4.00PrintProgressBar

Functioncall:
Lua: boolean retval, string ProgressString, integer percentage, integer progress_position = ultraschall.PrintProgressBar(boolean show, integer length, integer maximumvalue, integer currentvalue, boolean percentage, integer offset, optional string toptext, optional string bottomtext)

Description:

Calculate a simple progressbar, which can be optionally displayed in the ReaScript console; Will clear the console before displaying the next updated progressbar.

Will update it only, if the current-value of last time this function got called is different from the current one or toptext or bottomtext changed.

You can also use the returnvalues to draw your own progressbar, e.g. in a gfx.init-window

If you need to calculate a new progressbar, after the former got to 100%, it is wise to call ResetProgressBar, or it might not update the first time you call this function.

Returns false in case of an error


Parameters:
boolean show true, show progressbar in the ReaScript-console; false, don't show it there
integer length the length of the progressbar in characters. Minimum is 10.
integer maximumvalue the maximum integer-value, to which to count; minimum 1
integer currentvalue the current integer-value, at which we are with counting, minimum 0
boolean percentage true, show percentage in progressbar; false, show only progressbar
integer offset an offset to be added before the progressbar, so you can indent it
optional string toptext an optional string, that shall be displayed above the progressbar
optional string bottomtext an optional string, that shall be displayed below the progressbar

Returnvalues:
boolean retval true, displaying was successful; false, displaying wasn't successful
string ProgressString the progressbar including its full statuses and layout
integer percentage the progression of the progressbar in percent
integer progress_position the current progress-position, relative to length and maximumvalue



^ Reaper version 5.965 Ultraschall version 4.00ResetProgressBar

Functioncall:
Lua: ultraschall.ResetProgressBar()

Description:

Resets the initial-values of the progressbar. Should be called, if you want to start a new progressbar after you filled up the former one, or you may have update-issues.





^ Reaper version 6.02 Ultraschall version 4.1BringReaScriptConsoleToFront

Functioncall:
Lua: ultraschall.BringReaScriptConsoleToFront()

Description:

Brings Reaper's ReaScriptConsole-window to the front, when it's opened.



^ Reaper version 5.965 JS version 0.962 Ultraschall version 4.00CloseReaScriptConsole

Functioncall:
Lua: boolean retval = ultraschall.CloseReaScriptConsole()

Description:

Closes the ReaConsole-window, if opened.

Returns false in case of an error

Returnvalues:
boolean retval true, if there is a mute-point; false, if there isn't one




^ Reaper version 5.95 Ultraschall version 4.00GetReaperColorThemesPath

Functioncall:
Lua: string reaper_colorthemes_path = ultraschall.GetReaperColorThemesPath()

Description:

Returns path to Reaper's color-theme-folder

Returnvalues:
string reaper_colorthemes_path the path of the color-theme-folder of Reaper



^ Reaper version 5.95 Ultraschall version 4.00GetReaperJSFXPath

Functioncall:
Lua: string reaper_jsfx_path = ultraschall.GetReaperJSFXPath()

Description:

Returns path to Reaper's JSFX-plugin-folder

Returnvalues:
string reaper_jsfx_path the path of the JSFX-plugin-folder of Reaper



^ Reaper version 5.95 Ultraschall version 4.00GetReaperScriptPath

Functioncall:
Lua: string reaper_script_path = ultraschall.GetReaperScriptPath()

Description:

Returns path to Reaper's script-folder

Returnvalues:
string reaper_script_path the path of the scripts-folder of Reaper



^ Reaper version 5.95 Ultraschall version 4.00GetReaperWebRCPath

Functioncall:
Lua: string reaper_webrc_path, string user_webrc_path = ultraschall.GetReaperWebRCPath()

Description:

Returns path to the Web-RC-folder for Reaper as well as for the user-webrc-pages.

Returnvalues:
string reaper_script_path the path of the JSFX-plugin-folder of Reaper




^ Reaper version 6.02 Ultraschall version 4.2CharacterCodes_ReverseLookup

Functioncall:
Lua: string Character, optional boolean special_modifier, optional boolean shift, optional boolean control, optional boolean alt, optional boolean win, optional boolean opt, optional boolean cmd = ultraschall.CharacterCodes_ReverseLookup(integer byte1, integer byte2, integer byte3, optional integer lang)

Description:

returns the character-code+modifiers of a control-message-character as sent by reaper.StuffMIDIMessage with mode=1 they will be returned as shown in the add shortcut-dialog, though the keyboard-modifiers are returned as extra returnvalues.

optionally, you can select a multitude of keymaps for localization

Note: as there are many different language-keymaps out there, I tried to use some common ones. That also means, that they might be different in detail to your used one. So the only keymap 100% reliable is the default-us-english one.

returns nil in case of an error


Parameters:
integer byte1 the first byte of the StuffMIDIMessage, usually stores modifiers
integer byte2 the first byte of the StuffMIDIMessage, usually stores character-codes
integer byte3 the first byte of the StuffMIDIMessage, usually stores additional information
optional integer lang the languagekeymap used. The following list includes the specific keymap supported so they might differ in details. I used the ones supported by Windows 7 nil and 1, englisch(usa) default 2, german 3, arabian(saudi arabia) 4, catalan(spain) 5, greek(greece) 6, french(france) 7, hebrew(israel) 8, icelandic(iceland) 9, italian(italy) 10, japanese(japan) 11, russian(russian federation) 12, turkish(turkey) 13, indonesian(indonesia) 14, hindi(india) 15, punjabi(india) 16, chinese_simplified(china) 17, portuguese(portugal) 18, spanish(spain)

Returnvalues:
string Character the character/midi-message associated with this character-code
optional boolean special_modifier true, this is the special modifier(byte1=255); false, regular character/midimessage the special modifier stores multizoom, multirotate, multiswipe, mousewheel, mediakbd-buttons
optional boolean shift true, shift-key is needed; false, shift-key is not needed
optional boolean control true, ctrl-key is needed; false, ctrl-key is not needed
optional boolean alt true, alt-key is needed; false, alt-key is not needed
optional boolean win true, win-key is needed; false, win-key is not needed
optional boolean opt true, opt-key is needed; false, opt-key is not needed - (mac only)
optional boolean cmd true, cmd-key is needed; false, cmd-key is not needed - (mac only)




^ Reaper version 6.02 Ultraschall version 4.2CharacterCodes_ReverseLookup_KBIni

Functioncall:
Lua: string Character, optional boolean special_modifier, optional boolean shift, optional boolean control, optional boolean alt, optional boolean win, optional boolean opt, optional boolean cmd = ultraschall.CharacterCodes_ReverseLookup_KBIni(integer byte1, integer byte2, optional integer lang)

Description:

returns the character-code+modifiers of a control-message-character as stored in the KEY-entries in the reaper-kb.ini they will be returned as shown in the add shortcut-dialog, though the keyboard-modifiers are returned as extra returnvalues.

optionally, you can select a multitude of keymaps for localization

Note: as there are many different language-keymaps out there, I tried to use some common ones. That also means, that they might be different in detail to your used one. So the only keymap 100% reliable is the default-us-english one.

returns nil in case of an error


Parameters:
integer byte1 the first byte of the kb.ini-KEY-entry, usually stores modifiers
integer byte2 the first byte of the kb.ini-KEY-entry, usually stores character-codes
optional integer lang the languagekeymap used. The following list includes the specific keymap supported so they might differ in details. I used the ones supported by Windows 7 nil and 1, englisch(usa) default 2, german 3, arabian(saudi arabia) 4, catalan(spain) 5, greek(greece) 6, french(france) 7, hebrew(israel) 8, icelandic(iceland) 9, italian(italy) 10, japanese(japan) 11, russian(russian federation) 12, turkish(turkey) 13, indonesian(indonesia) 14, hindi(india) 15, punjabi(india) 16, chinese_simplified(china) 17, portuguese(portugal) 18, spanish(spain)

Returnvalues:
string Character the character/midi-message associated with this KEY-entry-character-code
optional boolean special_modifier true, this is the special modifier(byte1=255); false, regular character/midimessage the special modifier stores multizoom, multirotate, multiswipe, mousewheel, mediakbd-buttons
optional boolean shift true, shift-key is needed; false, shift-key is not needed
optional boolean control true, ctrl-key is needed; false, ctrl-key is not needed
optional boolean alt true, alt-key is needed; false, alt-key is not needed
optional boolean win true, win-key is needed; false, win-key is not needed
optional boolean opt true, opt-key is needed; false, opt-key is not needed - (mac only)
optional boolean cmd true, cmd-key is needed; false, cmd-key is not needed - (mac only)



^ Reaper version 6.02 Ultraschall version 4.2KBIniGetAllShortcuts

Functioncall:
Lua: integer number_of_shortcuts, table shortcut_attributes = ultraschall.KBIniGetAllShortcuts(optional boolean exclude_factory_default, optional integer lang)

Description:

returns all shortcuts currently set in the current Reaper-installation(as stored in reaper-kb.ini) as a handy table.

The table is of the following format: KeyTable[shortcut_idx]["Code1"] - the first value in a KEY-entry KeyTable[shortcut_idx]["Code2"] - the second value in a KEY-code KeyTable[shortcut_idx]["ActionCommandID"] - the action-command id or command-id-number KeyTable[shortcut_idx]["Section"] - the section: 0 - Main, 100 - Main (alt recording), 32060 - MIDI Editor, 32061 - MIDI Event List Editor, 32062 - MIDI Inline Editor, 32063 - Media Explorer KeyTable[shortcut_idx]["ShortcutName"] - the keyname as shown in the Add shortcut-dialog; localization depending on language-parameter KeyTable[shortcut_idx]["Modifier_SpecialModifier"] - true, the special modifier(for mediakbd, mousewheel, multitouch/zoom/swipe); false, midi or regular key KeyTable[shortcut_idx]["Modifier_Shift"] - true, shift is needed; false, shift is not needed as modifier KeyTable[shortcut_idx]["Modifier_Control"] - true, control is needed; false, control is not needed as modifier KeyTable[shortcut_idx]["Modifier_Alt"] - true, alt is needed; false, alt is not needed as modifier KeyTable[shortcut_idx]["Modifier_Win"] - true, win is needed; false, win is not needed as modifier(for windows) KeyTable[shortcut_idx]["Modifier_Opt"] - true, opt is needed; false, opt is not needed as modifier(for mac) KeyTable[shortcut_idx]["Modifier_Cmd"] - true, cmd is needed; false, cmd is not needed as modifier(for mac) KeyTable[shortcut_idx]["Global_Scope"] - is this shortcut global; -1, no; 1, global; 101, global+textfields KeyTable[shortcut_idx]["Global_Section"] - the section in which this shortcut is global; 102(main), 103(main alt.)

returns -1 in case of an error


Parameters:
optional boolean exclude_factory_default true, will only return the custom shortcuts; false or nil, returns all shortcuts, including factory default ones(usually not stored in kb.ini)
optional integer lang the languagekeymap used. The following list includes the specific keymap supported so they might differ in details. I used the ones supported by Windows 7 nil and 1, englisch(usa) default 2, german 3, arabian(saudi arabia) 4, catalan(spain) 5, greek(greece) 6, french(france) 7, hebrew(israel) 8, icelandic(iceland) 9, italian(italy) 10, japanese(japan) 11, russian(russian federation) 12, turkish(turkey) 13, indonesian(indonesia) 14, hindi(india) 15, punjabi(india) 16, chinese_simplified(china) 17, portuguese(portugal) 18, spanish(spain)

Returnvalues:
integer number_of_shortcuts the number of found shortcuts
table shortcut_attributes a nice and handy table of all shortcut-attributes




^ Reaper version 5.965 Ultraschall version 4.00print

Functioncall:
Lua: print(parameter_1 to parameter_n)

Description:

replaces Lua's own print-function, that is quite useless in Reaper.

displays \0-characters as .

Converts all parametes given into string using tostring() and displays them in the ReaScript-console, separated by a newline and ending with a newline.


Parameters:
parameter_1 to parameter_n the parameters, that you want to have printed out



^ Reaper version 5.965 Ultraschall version 4.00print2

Functioncall:
Lua: print2(parameter_1 to parameter_n)

Description:

replaces Lua's own print-function.

shows \0-characters as .

Converts all parametes given into string using tostring() and displays them as a MessageBox, separated by two spaces.

Parameters:
parameter_1 to parameter_n the parameters, that you want to have printed out



^ Reaper version 5.965 SWS version 2.9.7 Ultraschall version 4.00print3

Functioncall:
Lua: print(parameter_1 to parameter_n)

Description:

like print, but puts the parameters into the clipboard.

Converts all parametes given into string using tostring() and puts them into the clipboard, with each parameter separated by two spaces.
Unlike print and print2, this does NOT end with a newline!

Note: \0-characters will be seen as string-termination, so strings may be truncated. Please replace \0 with string.gsub, if you need to have the full string with all nil-values included.


Parameters:
parameter_1 to parameter_n the parameters, that you want to have put into the clipboard



^ Reaper version 5.965 Ultraschall version 4.00print_alt

Functioncall:
Lua: print_alt(parameter_1 to parameter_n)

Description:

replaces Lua's own print-function, that is quite useless in Reaper.

shows \0-characters as .

like print, but separates the entries by a two spaced, not a newline


Parameters:
parameter_1 to parameter_n the parameters, that you want to have printed out



^ Reaper version 5.965 Ultraschall version 4.00print_update

Functioncall:
Lua: print_update(parameter_1 to parameter_n)

Description:

replaces Lua's own print-function, that is quite useless in Reaper.

Converts all parametes given into string using tostring() and displays them in the ReaScript-console, separated by two spaces, ending with a newline.

Shows \0-characters as .

This is like print, but clears console everytime before displaying the values. Good for status-display, that shall not scroll.


Parameters:
parameter_1 to parameter_n the parameters, that you want to have printed out




^ Reaper version 5.40 Ultraschall version 4.00IsItemInTrack

Functioncall:
Lua: boolean retval = ultraschall.IsItemInTrack(integer tracknumber, integer itemIDX)

Description:

checks, whether a given item is part of the track tracknumber

returns true, if the itemIDX is part of track tracknumber, false if not, nil if no such itemIDX or Tracknumber available

Parameters:
integer itemIDX the number of the item to check of
integer tracknumber the number of the track to check in, with 1 for track 1, 2 for track 2, etc.

Returnvalues:
boolean retval true, if item is in track, false if item isn't in track



^ Reaper version 5.40 Ultraschall version 4.00IsItemInTrack2

Functioncall:
Lua: boolean retval, integer tracknumber = ultraschall.IsItemInTrack2(MediaItem MediaItem, integer tracknumber)

Description:

Checks, whether a MediaItem is in track with tracknumber.

see IsItemInTrack to use itemidx instead of the MediaItem-object. see IsItemInTrack3 to check against multiple tracks at once using a trackstring.

returns nil in case of error


Parameters:
MediaItem MediaItem the MediaItem, of which you want to know the track is is placed in
integer tracknumber the tracknumber to check the parent track of the MediaItem against, with 1 for track 1, etc

Returnvalues:
boolean retval true, if item is in track; false, if not
integer tracknumber the tracknumber of the track, in which the item lies



^ Reaper version 5.40 Ultraschall version 4.00IsItemInTrack3

Functioncall:
Lua: boolean retval = ultraschall.IsItemInTrack3(MediaItem MediaItem, string trackstring)

Description:

Checks, whether a MediaItem is in any of the tracks, given by trackstring.

see IsItemInTrack to use itemidx instead of the MediaItem-object. see IsItemInTrack2 to check against only one track.

returns nil in case of error


Parameters:
MediaItem MediaItem the MediaItem, of which you want to know the track is is placed in
string trackstring a string with all tracknumbers, separated by commas; 1 for track 1, 2 for track 2, etc

Returnvalues:
boolean retval true, if item is in track; false, if not
string trackstring a string with all tracknumbers, separated by commas; 1 for track 1, 2 for track 2, etc



^ Reaper version 6.19 Ultraschall version 4.2IsOS_Mac

Functioncall:
Lua: boolean is_mac, integer number_of_bits = ultraschall.IsOS_Mac()

Description:

returns, if the current operating system is mac-osx

Returnvalues:
boolean is_mac true, if the operating-system is mac-osx; false if not
integer bits the number of bits of the operating-system. Either 32 or 64 bit.; nil if is_mac=false



^ Reaper version 5.40 Ultraschall version 4.00IsOS_Other

Functioncall:
Lua: boolean is_other, integer number_of_bits = ultraschall.IsOS_Other()

Description:

returns, if the current operating system is neither mac or win

Returnvalues:
boolean is_other true, if the operating-system is neither mac or win; false if not
integer bits the number of bits of the operating-system. Either 32 or 64 bit.; nil if is_other=false



^ Reaper version 5.40 Ultraschall version 4.00IsOS_Windows

Functioncall:
Lua: boolean is_windows, integer number_of_bits = ultraschall.IsOS_Windows()

Description:

returns, if the current operating system is windows

Returnvalues:
boolean is_windows true, if the operating-system is windows; false if not
integer bits the number of bits of the operating-system. Either 32 or 64 bit; nil if is_win==false



^ Reaper version 5.40 Ultraschall version 4.00IsObjectValidReaperObject

Functioncall:
Lua: boolean retval, string objecttype = ultraschall.IsObjectValidReaperObject(Reaperobject object)

Description:

checks, if object is a valid Reaper-object. It also returns the type of that Reaper-object.

Parameters:
Reaperobject object a Reaper-object of the following types: ReaProject, MediaTrack, MediaItem, MediaItem_Take, TrackEnvelope, PCM_source returns None if the object isn't a valid Reaper-object

Returnvalues:
boolean retval true, if it's a valid Reaper-object; false, if not
string objecttype the type of the parameter of object the following types can be returned: ReaProject, MediaTrack, MediaItem, MediaItem_Take, TrackEnvelope, PCM_source, None



^ Reaper version 5.40 Ultraschall version 4.00IsValidGuid

Functioncall:
Lua: boolean retval = ultraschall.IsValidGuid(string guid, boolean strict)

Description:

Checks, if guid is a valid guid. Can also be used for strings, that contain a guid somewhere in them(strict=false)

A valid guid is a string that follows the following pattern:
{........-....-....-....-............}
where . is a hexadecimal value(0-F)

Returns false in case of error

Parameters:
string guid the guid to check for validity
boolean strict true, guid must only be the valid guid; false, guid must contain a valid guid somewhere in it(means, can contain trailing or preceding characters)

Returnvalues:
boolean retval true, guid is/contains a valid guid; false, guid isn't/does not contain a valid guid



^ Reaper version 5.965 Ultraschall version 4.00IsWithinTimeRange

Functioncall:
Lua: boolean retval = ultraschall.IsWithinTimeRange(number point_in_time, number start, number stop)

Description:

returns if time is between(including) start and stop.

returns false in case of an error

Parameters:
number point_in_time the time in seconds, to check for
number start the starttime in seconds, within to check for
number stop the endtime in seconds, within to check for

Returnvalues:
boolean retval true, time is between start and stop; false, it isn't




^ Reaper version 6.10 Ultraschall version 4.1Create2DTable

Functioncall:
Lua: table 2dtable = ultraschall.Create2DTable(integer maxx, integer maxy, optional anytype defval)

Description:

creates a 2-dimensional table with x-lines and y-rows, of which all entries are indexable right away.

It also has two additional fields ["x"] and ["y"] who hold the x and y-dimensions of the table you've set for later reference.

returns nil in case of an error


Parameters:
integer maxx the number of rows in the table(x-dimension)
integer maxy the number of lines in the table(y-dimension)
optional anytype defval the default-value to set in each field, can be any type

Returnvalues:
table 2dtable the 2d-table you've created



^ Reaper version 6.10 Ultraschall version 4.1Create3DTable

Functioncall:
Lua: table 3dtable = ultraschall.Create3DTable(integer maxx, integer maxy, integer maxz, optional anytype defval)

Description:

creates a 3-dimensional table with x-lines and y-rows and z-depths, of which all entries are indexable right away.

It also has two additional fields ["x"], ["y"] and ["z"] who hold the x, y and z-dimensions of the table you've set for later reference.

returns nil in case of an error


Parameters:
integer maxx the number of rows in the table(x-dimension)
integer maxy the number of lines in the table(y-dimension)
integer maxz the number of depths in the table(z-dimension)
optional anytype defval the default-value to set in each field, can be any type

Returnvalues:
table 3dtable the 3d-table you've created



^ Reaper version 6.10 Ultraschall version 4.1CreateMultiDimTable

Functioncall:
Lua: table multidimtable = ultraschall.CreateMultiDimTable(optional anytype defval, optional integer dimension1, optional integer dimension2, ... , optional integer dimensionN)

Description:

creates a multidimensional table

It also adds additional fields ["dimension1"] to ["dimension10"] who hold the number of available entries in this dimension for later reference.

It supports up to 10 dimensions. Note: the more dimensions, the more memory you need and the longer it takes to create the table.

returns nil in case of an error


Parameters:
optional anytype defval the default-value to set in each field, can be any type; set to nil to keep empty
integer dimension1 the number of entries in the first dimension of the table
integer dimension2 the number of entries in the second dimension of the table
integer dimensionN the number of entries in the n'th dimension of the table

Returnvalues:
table multidimtable the multidimensional-table you've created



^ Reaper version 5.40 Ultraschall version 4.1GetApiVersion

Functioncall:
Lua: number versionnumber, string majorversion, string date, string subversion, string tagline, string buildnumber = ultraschall.GetApiVersion()

Description:

returns the version, release-date and if it's a beta-version plus the currently installed hotfix

Returnvalues:
number versionnumber a number, that you can use for comparisons like, "if requestedversion>versionnumber then"
string majorversion the current Api-major-version
string date the release date of this api-version
string subversion a subversion-number of a major-version
string tagline the tagline of the current release
string hotfix_date the release-date of the currently installed hotfix ($ResourceFolder/ultraschall_api/ultraschall_hotfixes.lua); XX_XXX_XXXX if no hotfix is installed currently
string buildnumber the build-number of the current release



^ Reaper version 6.17 Ultraschall version 4.2GetOS

Functioncall:
Lua: string operating_system, integer bits = ultraschall.GetOS()

Description:

Returns operating system and if it's a 64bit/32bit-operating system.

Returnvalues:
string operating_system the operating system used; usually "Win", "Mac" or "Other"(e.g. when Linux is used)
integer bits the number of bits of the operating-system. Either 32 or 64 bit.



^ Reaper version 5.975 Ultraschall version 4.00GetReaperAppVersion

Functioncall:
Lua: integer majorversion, integer subversion, string bits, string operating_system, boolean portable, optional string betaversion = ultraschall.GetReaperAppVersion()

Description:

Returns operating system and if it's a 64bit/32bit-operating system.

Returnvalues:
integer majorversion the majorversion of Reaper. Can be used for comparisions like "if version<5 then ... end".
integer subversion the subversion of Reaper. Can be used for comparisions like "if subversion<96 then ... end".
string bits the number of bits of the reaper-app
string operating_system the operating system, either "Win", "OSX" or "Other"
boolean portable true, if it's a portable installation; false, if it isn't a portable installation
optional string betaversion if you use a pre-release of Reaper, this contains the beta-version, like "rc9" or "+dev0423" or "pre6"



^ Reaper version 6.19 Ultraschall version 4.2OpenURL

Functioncall:
Lua: integer retval = ultraschall.OpenURL(string url)

Description:

Opens the URI with the standard-browser installed in your system.

returns -1 in case of an error

Parameters:
string url the url to be opened in the browser; will check for :// in it for validity!



^ Reaper version 5.40 Ultraschall version 4.00PreventCreatingUndoPoint

Functioncall:
Lua: ultraschall.PreventCreatingUndoPoint()

Description:

Prevents creation of an Undo-point. Only useful in non-defer-scripts.



^ Reaper version 5.40 SWS version 2.9.7 Ultraschall version 4.00ReturnsMinusOneInCaseOfError_Arzala

Functioncall:
Lua: integer retval = ultraschall.ReturnsMinusOneInCaseOfError_Arzala()

Description:

Returns -1 in case of an error

Returnvalues:
integer retval returns -1 in case of error



^ Reaper version 5.95 Ultraschall version 4.00RunBackgroundHelperFeatures

Functioncall:
Lua: ultraschall.RunBackgroundHelperFeatures(boolean switch_on)

Description:

Starts background-scripts supplied with the Ultraschall-API, like:


Parameters:
boolean switch_on true, start the background-scripts/start unstarted background-helper-scripts; false, stop all background-helper-scripts



^ Reaper version 6.10 Ultraschall version 4.1TimeToMeasures

Functioncall:
Lua: number measure = ultraschall.TimeToMeasures(ReaProject project, number Time)

Description:

a function which converts a time into current projects time-measures only useful, when there are no tempo-changes in the project

returns nil in case of an error


Parameters:
ReaProject project ReaProject to use the timesignature-settings from
number time in seconds, the time to convert into a time-measurment, which can be used in config-variable "prerollmeas"

Returnvalues:
number measure the measures, that parameter time needs to be reflected



^ Reaper version 5.975 Ultraschall version 4.00get_action_context_MediaItemDiff

Functioncall:
Lua: MediaItem MediaItem, MediaItem_Take MediaItem_Take, MediaItem MediaItem_unlocked, boolean Item_moved, number StartDiffTime, number EndDiffTime, number LengthDiffTime, number OffsetDiffTime = ultraschall.get_action_context_MediaItemDiff(optional boolean exlude_mousecursorsize, optional integer x, optional integer y)

Description:

Returns the currently clicked MediaItem, Take as well as the difference of position, end, length and startoffset since last time calling this function.
Good for implementing ripple-drag/editing-functions, whose position depends on changes in the currently clicked MediaItem.
Repeatedly call this (e.g. in a defer-cycle) to get all changes made, during dragging position, length or offset of the MediaItem underneath mousecursor.

This function takes into account the size of the start/end-drag-mousecursor, that means: if mouse-position is within 3 pixels before start/after end of the item, it will get the correct MediaItem.
This is a workaround, as the mouse-cursor changes to dragging and can still affect the MediaItem, even though the mouse at this position isn't above a MediaItem anymore.
To be more strict, set exlude_mousecursorsize to true. That means, it will only detect MediaItems directly beneath the mousecursor. If the mouse isn't above a MediaItem, this function will ignore it, even if the mouse could still affect the MediaItem.
If you don't understand, what that means: simply omit exlude_mousecursorsize, which should work in almost all use-cases. If it doesn't work as you want, try setting it to true and see, whether it works now.    

Parameters:
optional boolean exlude_mousecursorsize false or nil, get the item underneath, when it can be affected by the mouse-cursor(dragging etc): when in doubt, use this true, get the item underneath the mousecursor only, when mouse is strictly above the item, which means: this ignores the item when mouse is not above it, even if the mouse could affect the item
optional integer x nil, use the current x-mouseposition; otherwise the x-position in pixels
optional integer y nil, use the current y-mouseposition; otherwise the y-position in pixels

Returnvalues:
MediaItem MediaItem the MediaItem at the current mouse-position; nil if not found
MediaItem_Take MediaItem_Take the MediaItem_Take underneath the mouse-cursor
MediaItem MediaItem_unlocked if the MediaItem isn't locked, you'll get a MediaItem here. If it is locked, this retval is nil
boolean Item_moved true, the item was moved; false, only a part(either start or end or offset) of the item was moved
number StartDiffTime if the start of the item changed, this is the difference; positive, the start of the item has been changed towards the end of the project negative, the start of the item has been changed towards the start of the project 0, no changes to the itemstart-position at all
number EndDiffTime if the end of the item changed, this is the difference; positive, the end of the item has been changed towards the end of the project negative, the end of the item has been changed towards the start of the project 0, no changes to the itemend-position at all
number LengthDiffTime if the length of the item changed, this is the difference; positive, the length is longer negative, the length is shorter 0, no changes to the length of the item
number OffsetDiffTime if the offset of the item-take has changed, this is the difference; positive, the offset has been changed towards the start of the project negative, the offset has been changed towards the end of the project 0, no changes to the offset of the item-take Note: this is the offset of the take underneath the mousecursor, which might not be the same size, as the MediaItem itself! So changes to the offset maybe changes within the MediaItem or the start of the MediaItem! This could be important, if you want to affect other items with rippling.




^ Reaper version 5.40 Ultraschall version 4.00API_TempPath

Functioncall:
Lua: ultraschall.API_TempPath

Description:

Contains the path to the temp-folder of the Ultraschall-API.



^ Reaper version 5.40 Ultraschall version 4.00Api_InstallPath

Functioncall:
Lua: ultraschall.Api_InstallPath

Description:

Contains the current path to the installation folder of the Ultraschall-Api(usually Resourcesfolder/UserPlugins)



^ Reaper version 5.40 Ultraschall version 4.00Api_Path

Functioncall:
Lua: ultraschall.Api_Path

Description:

Contains the current path of the Ultraschall-Api-folder ResourcePath/UserPlugins/ultraschall_api/



^ Reaper version 5.40 Ultraschall version 4.00Euro

Functioncall:
Lua: ultraschall.Euro

Description:

Holds the Euro-currency-symbol, which is hard to type in Reaper's own IDE.



^ Reaper version 5.40 Ultraschall version 4.00Separator

Functioncall:
Lua: ultraschall.Separator

Description:

Contains the correct separator for your system. / on Mac, \ on Windows. Use them, if you want to create windows and mac-compliant scripts that have file operations.



^ Reaper version 5.40 Ultraschall version 4.00StartTime

Functioncall:
Lua: ultraschall.StartTime

Description:

Contains the correct starting time of the current instance of the Ultraschall-Framework, which probably means your script, that embeds the framework.




^ Reaper version 5.965 SWS version 2.9.7 Ultraschall version 4.00GetHWInputs_Aliasnames

Functioncall:
Lua: integer number_of_aliases, table aliases = ultraschall.GetHWInputs_Aliasnames()

Description:

Returns the aliasnames and their associated channels of the currently selected audio-device.

The returned table is of the format table[index][1] - the name of the alias table[index][2] - the hardware-input-channel, associated to this aliasname


Returnvalues:
integer number_of_aliases the number of aliases available
table aliases a table, that contains all alias-names and their associated Hardware-Input-channels



^ Reaper version 5.965 SWS version 2.9.7 Ultraschall version 4.00GetHWOutputs_Aliasnames

Functioncall:
Lua: integer number_of_aliases, table aliases = ultraschall.GetHWOutputs_Aliasnames()

Description:

Returns the aliasnames and their associated channels of the currently selected audio-device.

The returned table is of the format table[index][1] - the name of the alias table[index][2] - the hardware-output-channel, associated to this aliasname


Returnvalues:
integer number_of_aliases the number of aliases available
table aliases a table, that contains all alias-names and their associated Hardware-Output-channels




^ Reaper version 6.05 Ultraschall version 4.2AutomationItem_Delete

Functioncall:
Lua: boolean retval = ultraschall.AutomationItem_Delete(TrackEnvelope env, integer automationitem_idx, optional boolean preservepoints)

Description:

Deletes an Automation-Item, optionally preserves the points who are added to the underlying envelope.

returns false in case of an error

Parameters:
TrackEnvelope env the TrackEnvelope, in which the automation-item to be deleted is located
integer automationitem_idx the automationitem that shall be deleted; 0, for the first one
optional boolean preservepoints true, keep the envelopepoints and add them to the underlying envelope; nil or false, just delete the AutomationItem

Returnvalues:
boolean retval true, deleting was successful; false, deleting was not successful



^ Reaper version 6.10 Ultraschall version 4.2AutomationItem_Split

Functioncall:
Lua: boolean retval = ultraschall.AutomationItem_Split(TrackEnvelope Env, number position, integer index, integer selected)

Description:

splits an automation-item at position in Env

returns false in case of an error

Parameters:
TrackEnvelope Env the envelope, whose automation-item you want to split
number position the position in seconds at wich you want to split the automation item
integer index the index of the automation-item, that you want to split
integer selected 0, set the newly created automation item unselected 1, set it selected 2, use selection-state of the original automation-item

Returnvalues:
boolean retval true, splitting was successful; false, splitting was unsuccessful



^ Reaper version 6.05 Ultraschall version 4.1AutomationItems_GetAll

Functioncall:
Lua: integer number_of_automationitems, table AutomationItems_Table = ultraschall.AutomationItems_GetAll()

Description:

Returns all automation items from the current project as a handy table

The format of the table is as follows:
    AutomationItems[automationitem_idx]["Track"] - the track, in which the automation item is located
    AutomationItems[automationitem_idx]["EnvelopeObject"] - the envelope, in which the automationitem is located
    AutomationItems[automationitem_idx]["EnvelopeName"] - the name of the envelope
    AutomationItems[automationitem_idx]["AutomationItem_Index"] - the index of the automation with EnvelopeObject
    AutomationItems[automationitem_idx]["AutomationItem_PoolID"] - the pool-Id of the automation item
    AutomationItems[automationitem_idx]["AutomationItem_Position"] - the position of the automation item in seconds
    AutomationItems[automationitem_idx]["AutomationItem_Length"] - the length of the automation item in seconds
    AutomationItems[automationitem_idx]["AutomationItem_Startoffset"] - the startoffset of the automation item in seconds
    AutomationItems[automationitem_idx]["AutomationItem_Playrate"]- the playrate of the automation item
    AutomationItems[automationitem_idx]["AutomationItem_Baseline"]- the baseline of the automation item, between 0 and 1
    AutomationItems[automationitem_idx]["AutomationItem_Amplitude"]- the amplitude of the automation item, between -1 and +1
    AutomationItems[automationitem_idx]["AutomationItem_LoopSource"]- the loopsource-state of the automation item; 0, unlooped; 1, looped
    AutomationItems[automationitem_idx]["AutomationItem_UISelect"]- the selection-state of the automation item; 0, unselected; nonzero, selected
    AutomationItems[automationitem_idx]["AutomationItem_Pool_QuarteNoteLength"]- the quarternote-length

Returnvalues:
integer number_of_automationitems the number of automation-items found in the current project
table AutomationItems_Table all found automation-items as a handy table(see description for details)



^ Reaper version 6.10 Ultraschall version 4.2AutomationItems_GetByTime

Functioncall:
Lua: integer found_automation_items, table automation_item_indices = ultraschall.AutomationItems_GetByTime(TrackEnvelope Env, number position)

Description:

returns all automation-items at a given position in an Envelope

returns -1 in case of an error

Parameters:
TrackEnvelope Env the envelope, whose automation-items you want to get
number position the position in seconds from wich you want to get the automation items

Returnvalues:
integer found_automation_items the number of automation-items found; -1, in case of an error
table automation_item_indices the indices of the found automation-items



^ Reaper version 5.95 Ultraschall version 4.00GetProject_AutomationItemStateChunk

Functioncall:
Lua: string AutomationItemStateChunk = ultraschall.GetProject_AutomationItemStateChunk(string projectfilename_with_path, integer idx, optional string ProjectStateChunk)

Description:

returns the idx'th automation-item from a ProjectStateChunk.

It's the entry <POOLEDENV

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the automation-item-statechunk; nil to use ProjectStateChunk
integer idx the number of the requested automation-item from the ProjectStateChunk with 1 for the first AutomItem.
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
string AutomationItemStateChunk the statechunk of the idx'th automation-item



^ Reaper version 5.95 Ultraschall version 4.00GetProject_CountAutomationItems

Functioncall:
Lua: integer automation_items_count = ultraschall.GetProject_CountAutomationItems(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

returns the number of automation-items available in a ProjectStateChunk.

It's the entry <POOLEDENV
                        
returns -1 in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the automation-item-count; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file; only used, when projectfilename_with_path=nil

Returnvalues:
integer automation_items_count the number of automation-items




^ Reaper version 6.02 SWS version 2.10.0.1 Ultraschall version 4.00FromClip

Functioncall:
Lua: string clipboard_string = FromClip()

Description:

Gets a string from clipboard.

Returnvalues:
string clipboard_string the string-content from the clipboard



^ Reaper version 5.40 Ultraschall version 4.00GetMediaItemsFromClipboard

Functioncall:
Lua: integer count, array MediaItemStateChunkArray = ultraschall.GetMediaItemsFromClipboard()

Description:

Returns the number of mediaitems and a MediaItemStateChunkArray of the mediaitems, as stored in the clipboard.

It does it by pasting the items at the end of the project, getting them and deleting them again.

Use sparsely and with care, as it uses a lot of resources!

Returnvalues:
integer count the number of items in the clipboard
array MediaItemStatechunkArray the mediaitem-statechunks of the items in the clipboard. One entry for each mediaitem-statechunk.



^ Reaper version 5.52 SWS version 2.9.7 Ultraschall version 4.00GetStringFromClipboard_SWS

Functioncall:
Lua: string clipboard_string = ultraschall.GetStringFromClipboard_SWS()

Description:

Returns the content of the clipboard as a string. Uses the SWS-function reaper.CF_GetClipboard, but does everything for you, that is needed for proper use of this function.

Returnvalues:
string clipboard_string the content of the clipboard as a string



^ Reaper version 5.95 Ultraschall version 4.00PutMediaItemsToClipboard_MediaItemArray

Functioncall:
Lua: boolean retval = ultraschall.PutMediaItemsToClipboard_MediaItemArray(MediaItemArray MediaItemArray)

Description:

Puts the items in MediaItemArray into the clipboard.

Returns false in case of an error

Parameters:
MediaItemArray MediaItemArray an array with all MediaItems, that shall be put into the clipboard

Returnvalues:
boolean retval true, if successful; false, if not



^ Reaper version 6.02 SWS version 2.10.0.1 Ultraschall version 4.00ToClip

Functioncall:
Lua: ToClip(string toclipstring)

Description:

Puts a string into clipboard.

\0-characters will be seen as string-termination, so if you want to put strings into clipboard containing them, you need to replace them first or your string might be truncated

Parameters:
string toclipstring the string, which you want to put into the clipboard




^ Reaper version 5.95 Ultraschall version 4.00ApplyColorTableToItemColors

Functioncall:
Lua: boolean retval = ultraschall.ApplyColorTableToItemColors(array ColorTable, integer Spread, MediaItemArray MediaItemArray)

Description:

Apply a ColorTable to MediaItems in a MediaItemArray, to colorize MediaItems

ColorTables can be created by CreateColorTable

returns false in case of an error


Parameters:
array ColorTable the ColorTable to apply to the MediaItemColors
integer Spread 0, apply ColorTable once; will return false, if fewer colors are in ColorTable available than items in the MediaItemArray nil or 1, repeat the colors from the ColorTable over and over again over the item; means: if you have 10 items and 5 colors, the colors will fill items 1 to 5 and then again items 6 to 10 2, spread the colors from the ColorTable over all items equally
MediaItemArray MediaItemArray an array with all the MediaItems to colorize

Returnvalues:
boolean retval true, adjusting item-colors was successful; false, adjusting item-colors was unsuccessful



^ Reaper version 5.95 Ultraschall version 4.00ApplyColorTableToTrackColors

Functioncall:
Lua: boolean retval = ultraschall.ApplyColorTableToTrackColors(array ColorTable, integer Spread, integer StartTrack, integer EndTrack)

Description:

Apply a ColorTable to Tracks, to colorize MediaTracks

ColorTables can be created by CreateColorTable

returns false in case of an error


Parameters:
array ColorTable the ColorTable to apply to the MediaTrackColors
integer Spread 0, apply ColorTable once; will return false, if fewer colors are in ColorTable available than tracks in the project nil or 1, repeat the colors from the ColorTable over and over again over the tracks; means: if you have 10 tracks and 5 colors, the colors will fill track 1 to 5 and then again track 6 to 10 2, spread the colors from the ColorTable over all tracks equally
integer StartTrack the first track to colorize; nil, to use the first track in project
integer EndTrack the last track to colorize; nil, to use the last track in project

Returnvalues:
boolean retval true, adjusting track-colors was successful; false, adjusting track-colors was unsuccessful



^ Reaper version 5.95 Ultraschall version 4.00ChangeColorBrightness

Functioncall:
Lua: integer red, integer green, integer blue, boolean retval = ultraschall.ChangeColorBrightness(integer r, integer g, integer b, integer bright_r, optional integer bright_g, optional integer bright_b)

Description:

Changes brightness of a colorvalue. If you only set brightr without setting brightg and brightb, then the value for brightr will affect g and b as well.

If a color-value becomes >255 or <0, it will be set to 255 or 0 respectively.

returns color-value 0,0,0 and retval=false in case of an error


Parameters:
integer r the red-value to be changed
integer g the green-value to be changed
integer b the blue-value to be changed
integer bright_r the change in brightness for the red-color; positive, brighter; negative, darker
optional integer bright_g the change in brightness for the green-color; positive, brighter; negative, darker; if nil, value in bright_r will be used
optional integer bright_b the change in brightness for the blue-color; positive, brighter; negative, darker; if nil, value in bright_r will be used

Returnvalues:
integer red the new red-value
integer green the new green-value
integer blue the new blue-value
boolean retval true, color-calculation was successful; false, color-calculation was unsuccessful



^ Reaper version 5.95 Ultraschall version 4.00ChangeColorContrast

Functioncall:
Lua: integer red, integer green, integer blue, boolean retval = ultraschall.ChangeColorContrast(integer r, integer g, integer b, integer Minimum_r, optional integer Maximum_r, optional integer Minimum_g, optional integer Maximum_g, optional integer Minimum_b, optional integer Maximum_b)

Description:

Changes contrast of a colorvalue.

Minimum will set the new minimal, Maximum will set the new maximum-brightness-level. If you set Minimum to 0 and Maximum to 255, contrast will not change.

The lower you set Minimum/Maximum, the darker it becomes; the higher, the brighter it becomes. The farther away Minimum is from Maximum, the stronger the contrast becomes; the closer Minimum is to Maximum, the weaker the contrast becomes.

If you only set Minimum_r and Maximum_r, then these values will be applied to g and b too.

If you omit/set to nil a Maximum-value; it's default value will be 255.

If a color-value becomes >255 or <0, it will be set to 255 or 0 respectively.

returns color-value 0,0,0 and retval=false in case of an error


Parameters:
integer r the red-value to be changed
integer g the green-value to be changed
integer b the blue-value to be changed
integer Minimum_r the new minimum brightness of the contrast-range of the red-color
optional integer Maximum_r the new maximum brightness of the contrast-range of the red-color; if nil, it will be seen as 255
optional integer Minimum_g the new minimum brightness of the contrast-range of the green-color; if nil, it will use the value of Minimum_r
optional integer Maximum_g the new maximum brightness of the contrast-range of the green-color; if nil, it will be seen as 255
optional integer Minimum_b the new minimum brightness of the contrast-range of the blue-color; if nil, it will use the value of Minimum_r
optional integer Maximum_b the new maximum brightness of the contrast-range of the blue-color; if nil, it will be seen as 255

Returnvalues:
integer red the new red-value
integer green the new green-value
integer blue the new blue-value
boolean retval true, color-calculation was successful; false, color-calculation was unsuccessful



^ Reaper version 5.95 Ultraschall version 4.00ChangeColorSaturation

Functioncall:
Lua: integer red, integer green, integer blue, number median, boolean retval = ultraschall.ChangeColorSaturation(integer r, integer g, integer b, integer delta)

Description:

Changes saturation of a colorvalue by delta.

If a color-value becomes >255 or <0, it will be set to 255 or 0 respectively.

returns color-value 0,0,0 and retval=false in case of an error


Parameters:
integer r the red-value to be changed
integer g the green-value to be changed
integer b the blue-value to be changed
integer delta the saturation/desaturation-value; negative, desaturates color; positive, saturates color

Returnvalues:
integer red the new red-value
integer green the new green-value
integer blue the new blue-value
number median the median-value, calculated from the the old red, green and blue, values (red+green+blue)/3, which is the basis for the brightness of the unsaturated value
boolean retval true, color-calculation was successful; false, color-calculation was unsuccessful



^ Reaper version 5.52 Ultraschall version 4.00ConvertColor

Functioncall:
Lua: integer colorvalue, boolean retval = ultraschall.ConvertColor(integer r, integer g, integer b)

Description:

converts r, g, b-values to native-system-color. Works like reaper's ColorToNative, but doesn't need |0x1000000 added.

returns color-value 0, and retval=false in case of an error

Parameters:
integer r the red colorvalue
integer g the green colorvalue
integer b the blue colorvalue

Returnvalues:
integer colorvalue the native-system-color; 0 to 33554431



^ Reaper version 5.95 Ultraschall version 4.00ConvertColorFromMac

Functioncall:
Lua: integer red, integer green, integer blue, boolean retval = ultraschall.ConvertColorFromMac(integer mac_colorvalue)

Description:

Converts a native-colorvalue to the correct rgb-color-values for Mac, no matter if you're using Mac, Windows or Linux.

returns 0, 0, 0, false in case of an error

Parameters:
integer mac_colorvalue the Mac-native-colorvalue

Returnvalues:
integer red the red-value of the color
integer green the green-value of the color
integer blue the blue-value of the color
boolean retval true, if conversion succeeded; false, if conversion failed



^ Reaper version 5.95 Ultraschall version 4.00ConvertColorFromWin

Functioncall:
Lua: integer red, integer green, integer blue, boolean retval = ultraschall.ConvertColorFromWin(integer win_colorvalue)

Description:

Converts a native-colorvalue to the correct rgb-color-values for Windows/Linux, no matter if you're using Mac, Windows or Linux.

returns 0, 0, 0, false in case of an error

Parameters:
integer win_colorvalue the Windows/Linux-native-colorvalue

Returnvalues:
integer red the red-value of the color
integer green the green-value of the color
integer blue the blue-value of the color
boolean retval true, if conversion succeeded; false, if conversion failed



^ Reaper version 5.52 Ultraschall version 4.00ConvertColorReverse

Functioncall:
Lua: integer r, integer g, integer b, boolean retval = ultraschall.ConvertColorReverse(integer colorvalue)

Description:

converts a native-system-color to r, g, b-values.

returns 0,0,0,false in case of an error

Parameters:
integer colorvalue the native-system-color; 0 to 33554431

Returnvalues:
integer r the red colorvalue
integer g the green colorvalue
integer b the blue colorvalue
boolean retval true, color-conversion was successful; false, color-conversion was unsuccessful



^ Reaper version 5.40 Ultraschall version 4.00ConvertColorToGFX

Functioncall:
Lua: number r, number g, number b, number a = ultraschall.ConvertColorToGFX(integer r, integer g, integer b, integer a)

Description:

converts red,green,blue,alpha-values from 0-255 range to 0-1 range, so these values can be used by Reaper-Lua's gfx.functions().

supports negative-values up from -255 to +255, so you can use the function as well for subtraction of colorvalues.

returns nil in case of error

Parameters:
integer r the red-color-value between -255 and +255
integer g the green-color-value between -255 and +255
integer b the blue-color-value between -255 and +255
integer a the alpha-color-value between -255 and +255

Returnvalues:
number r the converted red-value between -1 and +1; nil in case of error
number g the converted green-value between -1 and +1
number b the converted blue-value between -1 and +1
number a the converted alpha-value between -1 and +1



^ Reaper version 5.95 Ultraschall version 4.00ConvertColorToMac

Functioncall:
Lua: integer mac_colorvalue, boolean retval = ultraschall.ConvertColorToMac(integer red, integer green, integer blue)

Description:

Converts a colorvalue to the correct-native-colorvalue for Mac, no matter if you're using Mac, Windows or Linux.

returns 0, false in case of an error

Parameters:
integer red the red-value of the color
integer green the green-value of the color
integer blue the blue-value of the color

Returnvalues:
integer mac_colorvalue the Mac-native-colorvalue
boolean retval true, if conversion succeeded; false, if conversion failed



^ Reaper version 5.95 Ultraschall version 4.00ConvertColorToWin

Functioncall:
Lua: integer win_linux_colorvalue, boolean retval = ultraschall.ConvertColorToWin(integer red, integer green, integer blue)

Description:

Converts a colorvalue to the correct-native-colorvalue for Windows/Linux, no matter if you're using Mac, Windows or Linux.

returns 0, false in case of an error

Parameters:
integer red the red-value of the color
integer green the green-value of the color
integer blue the blue-value of the color

Returnvalues:
integer win_linux_colorvalue the Windows/Linux-native-colorvalue
boolean retval true, if conversion succeeded; false, if conversion failed



^ Reaper version 5.40 Ultraschall version 4.00ConvertGFXToColor

Functioncall:
Lua: integer r, integer g, integer b, integer a = ultraschall.ConvertGFXToColor(number r, number g, number b, number a)

Description:

converts red,green,blue,alpha-values from 0-1 range to 0-255 range, so these values can be used by Reaper's normal color-value-functions.

supports negative-values up from -1 to +1, so you can use the function as well for subtraction of colorvalues.

returns nil in case of error

Parameters:
number r the converted red-value between -1 and +1; nil in case of error
number g the converted green-value between -1 and +1
number b the converted blue-value between -1 and +1
number a the converted alpha-value between -1 and +1

Returnvalues:
integer r the red-color-value between -255 and +255
integer g the green-color-value between -255 and +255
integer b the blue-color-value between -255 and +255
integer a the alpha-color-value between -255 and +255



^ Reaper version 5.95 Ultraschall version 4.00CreateColorTable

Functioncall:
Lua: array ColorTable = ultraschall.CreateColorTable(integer startr, integer startg, integer startb, integer endr, integer endg, integer endb, integer number_of_steps)

Description:

Returns a colortable to be used by color-graphics-functions.

The colorvalue for start and end can be 0 to 255 or the other way round 255 to 0

Can be used by ApplyColorTableToTrackColors

returns nil in case of an error


Parameters:
integer startr start redvalue, between 0 and 255
integer startg start greenvalue, between 0 and 255
integer startb start bluevalue, between 0 and 255
integer endr end redvalue, between 0 and 255
integer endg end greenvalue, between 0 and 255
integer endb end bluevalue, between 0 and 255
integer number_of_steps the number of steps from the lowest to the highest r,g,b-color start/end-values

Returnvalues:
array ColorTable a colortable for the colors with the number of steps of your choice; each indexentry holds entries "r"(0-255), "g"(0-255), "b"(0-255), "nativecolor" and "gfxr"(0-1), "gfxg"(0-1), "gfxb"(0-1).



^ Reaper version 5.95 Ultraschall version 4.00CreateSonicRainboomColorTable

Functioncall:
Lua: array ColorTable = ultraschall.CreateSonicRainboomColorTable()

Description:

Returns a colortable in Ultraschall's standard-trackcolor-setting "Sonic Rainboom"-style.

Can be used by ApplyColorTableToTrackColors


Returnvalues:
array ColorTable a colortable with all values for Ultraschall's track-color "Sonic Rainboom"



^ Reaper version 5.95 Ultraschall version 4.00IsValidColorTable

Functioncall:
Lua: boolean retval = ultraschall.IsValidColorTable(array ColorTable)

Description:

Checks for valid color-tables.

returns false in case of an error


Parameters:
array ColorTable a table to check for being a valid ColorTable

Returnvalues:
boolean retval true, if it's a valid ColorTable; false, if it's not a valid ColorTable



^ Reaper version 5.40 Ultraschall version 4.00RGB2Grayscale

Functioncall:
Lua: integer graycolor = ultraschall.RGB2Grayscale(integer red, integer green, integer blue)

Description:

converts rgb to a grayscale value. Works native on Mac as well on Windows, no color conversion needed.

returns nil in case of an error

Parameters:
integer red red-value between 0 and 255.
integer green red-value between 0 and 255.
integer blue red-value between 0 and 255.

Returnvalues:
integer graycolor the gray color-value, generated from red,blue and green.




^ Reaper version 5.95 SWS version 2.9.7 Ultraschall version 4.00GetSetConfigActionMenu

Functioncall:
Lua: integer retval = ultraschall.GetSetConfigActionMenu(boolean set, integer setting, boolean persist)

Description:

Gets/Sets the value of "Show recent actions"-entry, as set in the Actions-menu.
To keep the setting after restart of Reaper, set persist=true

This alters the configuration-variable "actionmenu", as well as the reaper.ini-entry "REAPER -> actionmenu"

returns -1 in case of an error

Parameters:
boolean set true, set a new value; false, return the current value
integer setting the current/new setting-value 0, don't show recent actions - unchecked 1, show recent actions - checked
boolean persist true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper

Returnvalues:
integer retval the current/new setting-value 0, don't show recent actions - unchecked 1, show recent actions - checked




^ Reaper version 5.95 SWS version 2.9.7 Ultraschall version 4.00GetSetConfigAlwaysAllowKB

Functioncall:
Lua: integer retval = ultraschall.GetSetConfigAlwaysAllowKB(boolean set, integer setting, boolean persist)

Description:

Gets/Sets the value of "Allow keyboard commands even when mouse-editing"-checkbox, as set in Preferences -> General ->Advanced UI/system tweaks
To keep the setting after restart of Reaper, set persist=true

This alters the configuration-variable "alwaysallowkb", as well as the reaper.ini-entry "REAPER -> alwaysallowkb"

returns -1 in case of an error

Parameters:
boolean set true, set a new value; false, return the current value
integer setting the current/new setting-value; 0 to 1
boolean persist true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper

Returnvalues:
integer retval the current/new setting-value; 0(don't allow) to 1(allow)



^ Reaper version 5.95 SWS version 2.9.7 Ultraschall version 4.00GetSetConfigAudioCloseTrackWnds

Functioncall:
Lua: integer retval = ultraschall.GetSetConfigAudioCloseTrackWnds(boolean set, integer setting, boolean persist)

Description:

Gets/Sets the value of "Allow snap grid/track envelope/routing windows to stay open"-checkbox in Preferences -> General -> Advanced UI/system tweaks.  
To keep the setting after restart of Reaper, set persist=true

This alters the configuration-variable "autoclosetrackwnds", as well as the reaper.ini-entry "REAPER -> autoclosetrackwnds"

returns -1 in case of an error

Parameters:
boolean set true, set a new value; false, return the current value
integer setting the current/new setting-value 0, it is allowed(on) - checked 1, it is not allowed(off) - unchecked
boolean persist true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper

Returnvalues:
integer retval the current/new setting-value 0, it is allowed(on) - checked 1, it is not allowed(off) - unchecked




^ Reaper version 5.95 SWS version 2.9.7 Ultraschall version 4.00GetSetConfigAllStereoPairs

Functioncall:
Lua: integer retval = ultraschall.GetSetConfigAllStereoPairs(boolean set, integer setting, boolean persist)

Description:

Gets/Sets the value of "Show non-standard stereo channel pairs(i.e Input2/Input3 etc)"-checkbox in the Channel naming/mapping-section, as set in Preferences -> Audio
To keep the setting after restart of Reaper, set persist=true

This alters the configuration-variable "allstereopairs", as well as the reaper.ini-entry "REAPER -> allstereopairs"

returns -1 in case of an error

Parameters:
boolean set true, set a new value; false, return the current value
integer setting the current/new setting-value 0, don't show non standard stereo channel pairs(off) - unchecked 1, show non standard stereo channel pairs(on) - checked
boolean persist true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper

Returnvalues:
integer retval the current/new setting-value 0, don't show non standard stereo channel pairs(off) - unchecked 1, show non standard stereo channel pairs(on) - checked



^ Reaper version 5.95 SWS version 2.9.7 Ultraschall version 4.00GetSetConfigAudioCloseStop

Functioncall:
Lua: integer retval = ultraschall.GetSetConfigAudioCloseStop(boolean set, integer setting, boolean persist)

Description:

Gets/Sets the value of "Close audio device when stopped and active(less responsive)"-checkbox, as set in Preferences -> Audio  
To keep the setting after restart of Reaper, set persist=true

This alters the configuration-variable "audioclosestop", as well as the reaper.ini-entry "REAPER -> audioclosestop"

returns -1 in case of an error

Parameters:
boolean set true, set a new value; false, return the current value
integer setting the current/new setting-value
boolean persist true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper

Returnvalues:
integer retval the current/new setting-value




^ Reaper version 5.95 SWS version 2.9.7 Ultraschall version 4.00GetSetConfigAudioThreadPr

Functioncall:
Lua: integer retval = ultraschall.GetSetConfigAudioThreadPr(boolean set, integer setting, boolean persist)

Description:

Gets/Sets the value of "Audio thread priority"-dropdownlist, as set in Preferences -> Device  
To keep the setting after restart of Reaper, set persist=true

This alters the configuration-variable "audiothreadpr", as well as the reaper.ini-entry "REAPER -> audiothreadpr"

returns -1 in case of an error

Parameters:
boolean set true, set a new value; false, return the current value
integer setting the current/new setting-value -1, ASIO Default / MMCSS Pro Audio / Time Critical 0, Normal 1, Above normal 2, Highest 3, Time Critical 4, MMCSS / Time Critical
boolean persist true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper

Returnvalues:
integer retval the current/new setting-value -1, ASIO Default / MMCSS Pro Audio / Time Critical 0, Normal 1, Above normal 2, Highest 3, Time Critical 4, MMCSS / Time Critical




^ Reaper version 5.95 SWS version 2.9.7 Ultraschall version 4.00GetSetConfigApplyFXTail

Functioncall:
Lua: integer retval = ultraschall.GetSetConfigApplyFXTail(boolean set, integer setting, boolean persist)

Description:

Gets/Sets the value of "Tail length when using Apply FX to items"-inputbox in milliseconds, as set in Preferences -> Media
To keep the setting after restart of Reaper, set persist=true

This alters the configuration-variable "applyfxtail", as well as the reaper.ini-entry "REAPER -> applyfxtail"

returns -1 in case of an error

Parameters:
boolean set true, set a new value; false, return the current value
integer setting the current/new setting-value; 0 to 2147483647
boolean persist true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper

Returnvalues:
integer retval the current/new setting-value; 0 to 2147483647




^ Reaper version 5.95 SWS version 2.9.7 Ultraschall version 4.00GetSetConfigAutoMute

Functioncall:
Lua: integer retval = ultraschall.GetSetConfigAutoMute(boolean set, integer setting, boolean persist)

Description:

Gets/Sets the value of "Automute-dropdownlist in the section Mute"-settings, as set in Preferences -> Mute/Solo
To keep the setting after restart of Reaper, set persist=true

This alters the configuration-variable "automute", as well as the reaper.ini-entry "REAPER -> automute"

returns -1 in case of an error

Parameters:
boolean set true, set a new value; false, return the current value
integer setting the current/new setting-value 0, No automatic muting 1, Automatically mute master track 2, Automatically mute any track
boolean persist true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper

Returnvalues:
integer retval the current/new setting-value 0, No automatic muting 1, Automatically mute master track 2, Automatically mute any track



^ Reaper version 5.95 SWS version 2.9.7 Ultraschall version 4.00GetSetConfigAutoMuteFlags

Functioncall:
Lua: integer retval = ultraschall.GetSetConfigAutoMuteFlags(boolean set, integer setting, boolean persist)

Description:

Sets the "Reset on playback start"-checkbox in section Mute-settings, as set in Preferences -> Mute/Solo  
To keep the setting after restart of Reaper, set persist=true

This alters the configuration-variable "automuteflags", as well as the reaper.ini-entry "REAPER -> automuteflags"

returns -1 in case of an error

Parameters:
boolean set true, set a new value; false, return the current value
integer setting the current/new setting-value 0, Reset on playback start(on) - checked 1, Reset on playback start(off) - unchecked
boolean persist true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper

Returnvalues:
integer retval the current/new setting-value 0, Reset on playback start(on) - checked 1, Reset on playback start(off) - unchecked




^ Reaper version 5.95 SWS version 2.9.7 Ultraschall version 4.00GetSetConfigAutoSaveInt

Functioncall:
Lua: integer retval = ultraschall.GetSetConfigAutoSaveInt(boolean set, integer setting, boolean persist)

Description:

Sets the "Every x minutes"-inputbox from the Project saving-section, as set in Preferences -> Project.
To keep the setting after restart of Reaper, set persist=true

This alters the configuration-variable "autosaveint", as well as the reaper.ini-entry "REAPER -> autosaveint"

returns -1 in case of an error

Parameters:
boolean set true, set a new value; false, return the current value
integer setting the current/new setting-value 0 to 2147483647 in seconds
boolean persist true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper

Returnvalues:
integer retval the current/new setting-value 0 to 2147483647; in seconds; higher values become negative



^ Reaper version 5.95 SWS version 2.9.7 Ultraschall version 4.00GetSetConfigAutoSaveMode

Functioncall:
Lua: integer retval = ultraschall.GetSetConfigAutoSaveMode(boolean set, integer setting, boolean persist)

Description:

Sets the "Every x minutes"-dropdownlist from the Project saving-section, as set in Preferences -> Project.
To keep the setting after restart of Reaper, set persist=true

This alters the configuration-variable "autosavemode", as well as the reaper.ini-entry "REAPER -> autosavemode"

returns -1 in case of an error

Parameters:
boolean set true, set a new value; false, return the current value
integer setting the current/new setting-value 0, when not recording 1, when stopped 2, any time
boolean persist true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper

Returnvalues:
integer retval the current/new setting-value 0, when not recording 1, when stopped 2, any time




^ Reaper version 5.95 SWS version 2.9.7 Ultraschall version 4.00GetSetConfigAdjRecLat

Functioncall:
Lua: integer retval = ultraschall.GetSetConfigAdjRecLat(boolean set, integer setting, boolean persist)

Description:

Gets/Sets the value of "Use audio driver reported latency"-checkbox, as set in Preferences -> Recording
To keep the setting after restart of Reaper, set persist=true

This alters the configuration-variable "adjreclat", as well as the reaper.ini-entry "REAPER -> adjreclat"

returns -1 in case of an error

Parameters:
boolean set true, set a new value; false, return the current value
integer setting the current/new setting-value 0, don't use audio driver reported latency(off) - unchecked 1, don't use audio driver reported latency(on) - checked
boolean persist true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper

Returnvalues:
integer retval the current/new setting-value 0, don't use audio driver reported latency(off) - unchecked 1, don't use audio driver reported latency(on) - checked



^ Reaper version 5.95 SWS version 2.9.7 Ultraschall version 4.00GetSetConfigAdjRecManLat

Functioncall:
Lua: integer retval = ultraschall.GetSetConfigAdjRecManLat(boolean set, integer setting, boolean persist)

Description:

Gets/Sets the value of "Output manual offset-samples"-inputbox, as set in Preferences -> Recording
To keep the setting after restart of Reaper, set persist=true

This alters the configuration-variable "adjrecmanlat", as well as the reaper.ini-entry "REAPER -> adjrecmanlat"

returns -1 in case of an error

Parameters:
boolean set true, set a new value; false, return the current value
integer setting the current/new setting-value; 0 to 2147483647; in samples
boolean persist true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper

Returnvalues:
integer retval the current/new setting-value; 0 to 2147483647; in samples



^ Reaper version 5.95 SWS version 2.9.7 Ultraschall version 4.00GetSetConfigAdjRecManLatIn

Functioncall:
Lua: integer retval = ultraschall.GetSetConfigAdjRecManLatIn(boolean set, integer setting, boolean persist)

Description:

Gets/Sets the value of "Input manual offset-samples"-inputbox, as set in Preferences -> Recording
To keep the setting after restart of Reaper, set persist=true

This alters the configuration-variable "adjrecmanlatin", as well as the reaper.ini-entry "REAPER -> adjrecmanlatin"

returns -1 in case of an error

Parameters:
boolean set true, set a new value; false, return the current value
integer setting the current/new setting-value
boolean persist true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper

Returnvalues:
integer retval the current/new setting-value




^ Reaper version 5.95 SWS version 2.9.7 Ultraschall version 4.00GetSetConfigAcidImport

Functioncall:
Lua: integer retval = ultraschall.GetSetConfigAcidImport(boolean set, integer setting, boolean persist)

Description:

Gets/Sets the value of "When importing media"-dropdownlist, as set in the Media with embedded tempo information-section in Preferences -> Video/REX/Misc
To keep the setting after restart of Reaper, set persist=true

This alters the configuration-variable "acidimport", as well as the reaper.ini-entry "REAPER -> acidimport"

returns -1 in case of an error

Parameters:
boolean set true, set a new value; false, return the current value
integer setting the current/new setting-value -1, an error occured 0, Adjust media to project tempo 1, Import media at source tempo 2, Always prompt when importing media with embedded tempo
boolean persist true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper

Returnvalues:
integer retval the current/new setting-value -1, an error occured 0, Adjust media to project tempo 1, Import media at source tempo 2, Always prompt when importing media with embedded tempo




^ Reaper version 5.95 SWS version 2.9.7 Ultraschall version 4.00GetSetConfigAfxCfg

Functioncall:
Lua: integer retval = ultraschall.GetSetConfigAfxCfg(boolean set, integer setting, boolean persist)

Description:

Gets/Sets the value of the audioformat for "Apply FX, Glue, Freeze, etc", as set in the Project Settings->Media-dialog
Only sets the format, not the individual format-settings(like bitrate, etc)!
To keep the setting for new projects as standard-setting after restart of Reaper, set persist=true

This alters the configuration-variable "afxcfg", as well as the reaper.ini-entry "REAPER -> afxcfg"

returns -1 in case of an error

Parameters:
boolean set true, set a new value; false, return the current value
integer setting the new set audioformat 1179012432, Video (ffmpeg/libav encoder) 1195984416, Video (GIF) 1279477280, Video (LCF) 1332176723, OGG Opus 1634297446, AIFF 1684303904, DDP 1718378851, FLAC 1769172768, Audio CD Image(CUE/BIN format) 1836069740, MP3 (encoder by LAME project) 1869047670, OGG Vorbis 2002876005, WAV 2004250731, WavPack lossless compressor
boolean persist true, this setting will be standard-setting for new projects after restart of Reaper; false, setting will be lost after exiting Reaper

Returnvalues:
integer retval the current/newly set audioformat 0, not set yet 1179012432, Video (ffmpeg/libav encoder) 1195984416, Video (GIF) 1279477280, Video (LCF) 1332176723, OGG Opus 1634297446, AIFF 1684303904, DDP 1718378851, FLAC 1769172768, Audio CD Image(CUE/BIN format) 1836069740, MP3 (encoder by LAME project) 1869047670, OGG Vorbis 2002876005, WAV 2004250731, WavPack lossless compressor




^ Reaper version 5.941 SWS version 2.9.7 Ultraschall version 4.00GetStartNewFileRecSizeState

Functioncall:
Lua: boolean start_new_files, boolean offset_file_switches, integer max_rec_size = ultraschall.GetStartNewFileRecSizeState()

Description:

Returns, if Reaper shall start a file after a specified amount of MegaBytes as well, if the fileswitches shall be offset when multitrack-recording and the maximum filesize before starting a new file.

see SetStartNewFileRecSizeState for setting the current settings.

Returnvalues:
boolean start_new_files true, Reaper starts a new file, when a recorded file reaches max_rec_size; false, files are as long until recording stops
boolean offset_file_switches true, When recording multiple tracks, offset file switches for better performance; false, don't offset file-switches
integer max_rec_size the maximum length of a recorded file in MegaBytes, before Reaper shall start a new file; only applied when When recording multiple tracks, offset file switches for better performance=true



^ Reaper version 5.941 SWS version 2.9.7 Ultraschall version 4.00SetStartNewFileRecSizeState

Functioncall:
Lua: boolean retval = ultraschall.SetStartNewFileRecSizeState(boolean start_new_files, boolean offset_file_switches, integer maxrecsize, boolean persist)

Description:

Sets, if Reaper shall start a file after a specified amount of MegaBytes as well, if the fileswitches shall be offset when multitrack-recording and the maximum filesize before starting a new file.

see GetStartNewFileRecSizeState for getting the current settings.

Returns false in case of an error

Parameters:
boolean start_new_files true, Reaper starts a new file, when a recorded file reaches max_rec_size; false, files are as long until recording stops
boolean offset_file_switches true, When recording multiple tracks, offset file switches for better performance; false, don't offset file-switches
integer max_rec_size the maximum length of a recorded file in MegaBytes, before Reaper shall start a new file; only applied when When recording multiple tracks, offset file switches for better performance=true
boolean persist true, set the setting to reaper.ini so it persists after restarting Reaper; false, set it only for the time, until Reaper is restarted

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful




^ Reaper version 5.95 SWS version 2.9.7 Ultraschall version 4.00GetSetConfigAudioPrShift

Functioncall:
Lua: integer retval = ultraschall.GetSetConfigAudioPrShift(boolean set, integer setting, boolean persist)

Description:

Gets/Sets the value of "Preserve pitch in audio items when changing master playrate", as set in the contextmenu of the master-playrate in the transport-area as well as toggled by action 40671(all sections)
This is a project-setting. That means, setting persist to true will have an effect on new projects create, but only after you restarted Reaper!

This alters the configuration-variable "audioprshift", as well as the reaper.ini-entry "REAPER -> audioprshift"

returns -1 in case of an error

Parameters:
boolean set true, set a new value; false, return the current value 0, don't preserve pitch - unchecked 1, preserve pitch - checked
integer setting the current/new setting-value
boolean persist true, this setting will be kept for new projects, but only after restart of Reaper; false, old standard-project-setting will be kept

Returnvalues:
integer retval the current/new setting-value 0, don't preserve pitch - unchecked 1, preserve pitch - checked




^ Reaper version 5.40 Ultraschall version 4.00CountIniFileExternalState_key

Functioncall:
Lua: integer keyscount = ultraschall.CountIniFileExternalState_key(string section, string ini_filename_with_path)

Description:

Count external-state-keys within a specific section, in a ini_filename_with_path.

Returns -1, if file does not exist.

Parameters:
string section the section within the ini-filename
string ini_filename_with_path filename of the ini-file

Returnvalues:
integer keyscount number of keys with section within an ini-configuration-file



^ Reaper version 5.40 Ultraschall version 4.00CountIniFileExternalState_sec

Functioncall:
Lua: integer sectioncount = ultraschall.CountIniFileExternalState_sec(string ini_filename_with_path)

Description:

Count external-state-[sections] from an ini-configurationsfile.

Returns -1, if the file does not exist.

Parameters:
string ini_filename_with_path filename of the ini-file

Returnvalues:
integer sectioncount number of sections within an ini-configuration-file



^ Reaper version 5.40 Ultraschall version 4.00CountKeysByPattern

Functioncall:
Lua: integer number_of_keys, string sections_and_keys = ultraschall.CountKeysByPattern(string pattern, string ini_filename_with_path)

Description:

Counts the number of keys within an ini-file, that fit a specific pattern.

Uses "pattern"-string to determine, how often a key with a certain pattern exists. Good for keys, that have a number in them, like key1, key2, key3.
Returns the number of keys, that include the pattern, as well as a string with all [sections] that contain keys= with a pattern, separated by a , i.e. [section1],key1=,key2=,key3=,[section2],key1=,key4=

Pattern can also contain patterns for pattern matching. Refer the LUA-docs for pattern matching.
i.e. characters like ^$()%.[]*+-? must be escaped with a %, means: %[%]%(%) etc

Returns -1, in case of an error.

Parameters:
string pattern the pattern itself. Case sensitive.
string ini_filename_with_path filename of the ini-file

Returnvalues:
integer number_of_keys the number of keys, that fit the pattern
string sections_and_keys a string, like: [section1],Key1=,Key2=,Key3=[section2],Key7=



^ Reaper version 5.40 Ultraschall version 4.00CountSectionsByPattern

Functioncall:
Lua: integer number_of_sections, string sectionnames = ultraschall.CountSectionsByPattern(string pattern, string ini_filename_with_path)

Description:

Counts the number of sections within an ini-file, that fit a specific pattern.

Uses "pattern"-string to determine, how often a section with a certain pattern exists. Good for sections, that have a number in them, like [section1], [section2], [section3].
Returns the number of sections, that include that pattern as well as a string, that includes the names of all such sections, separated by a comma.

Pattern can also contain patterns for pattern matching. Refer the LUA-docs for pattern matching.
i.e. characters like ^$()%.[]*+-? must be escaped with a %, means: %[%]%(%) etc

Returns -1, in case of an error.

Parameters:
string pattern the pattern itself. Case sensitive.
string ini_filename_with_path filename of the ini-file

Returnvalues:
integer number_of_sections the number of sections, that fit the pattern
string sectionnames a string, like: [section1],[section8],[section99]



^ Reaper version 5.40 Ultraschall version 4.00CountValuesByPattern

Functioncall:
Lua: integer number_of_values, string sections_and_keys = ultraschall.CountValuesByPattern(string pattern, string ini_filename_with_path)

Description:

Counts the number of values within an ini-file, that fit a specific pattern.

Uses "pattern"-string to determine, how often a value with a certain pattern exists. Good for values, that have a number in them, like value1, value2, value3
Returns the number of values, that include that pattern as well as a string, that contains the [sections] and the keys= and values , the latter that contain the pattern, separated by a comma
e.g. [section1], key1=, value, key4=, value, [section4], key2=, value

Pattern can also contain patterns for pattern matching. Refer the LUA-docs for pattern matching.
i.e. characters like ^$()%.[]*+-? must be escaped with a %, means: %[%]%(%) etc

Returns -1, in case of an error.

Parameters:
string pattern the pattern itself. Case sensitive.
string ini_filename_with_path filename of the ini-file

Returnvalues:
integer number_of_values the number of values, that fit the pattern
string sections_keys_values a string, like: [section1],key1=,value,key4=,value,[section4],key2=,value



^ Reaper version 5.40 Ultraschall version 4.00EnumerateIniFileExternalState_key

Functioncall:
Lua: string keyname = ultraschall.EnumerateIniFileExternalState_key(string section, integer number, string ini_filename_with_path)

Description:

Returns the numberth key within a section in an ini_filename_with_path.

Returns nil, in case of an error.

Parameters:
string section the name of the section
integer number the number of the key within a section within the ini-filename, with 1 for the first key in the section
string ini_filename_with_path filename of the ini-file

Returnvalues:
string keyname the name of the numberth key within section in the ini-file



^ Reaper version 5.40 Ultraschall version 4.00EnumerateIniFileExternalState_sec

Functioncall:
Lua: string sectionname = ultraschall.EnumerateIniFileExternalState_sec(integer number_of_section, string ini_filename_with_path)

Description:

Returns the numberth section in an ini_filename_with_path.

Returns nil, in case of an error.

Parameters:
integer number_of_section the section within the ini-filename; 1, for the first section
string ini_filename_with_path filename of the ini-file

Returnvalues:
string sectionname the name of the numberth section in the ini-file



^ Reaper version 5.40 SWS version 2.8.8 Ultraschall version 4.00EnumerateKeysByPattern

Functioncall:
Lua: string keyname = ultraschall.EnumerateKeysByPattern(string pattern, string section, integer id, string ini_filename_with_path)

Description:

Returns the numberth key within a section in an ini-file, that fits the pattern, e.g. the third key containing "hawaii" in it.

Uses "pattern"-string to determine if a key contains a certain pattern. Good for keys, that have a number in them, like key1=, key2=, key3=
Returns the key that includes that pattern as a string, numbered by id.

Pattern can also contain patterns for pattern matching. Refer the LUA-docs for pattern matching.
i.e. characters like ^$()%.[]*+-? must be escaped with a %, means: %[%]%(%) etc

Returns nil, in case of an error.

Parameters:
string pattern the pattern itself. Case sensitive.
string section the section, in which to look for the key
integer id the number of key, that contains pattern
string ini_filename_with_path filename of the ini-file

Returnvalues:
string keyname a string, that contains the keyname



^ Reaper version 5.40 SWS version 2.8.8 Ultraschall version 4.00EnumerateSectionsByPattern

Functioncall:
Lua: string sectionname = ultraschall.EnumerateSectionsByPattern(string pattern, integer id, string ini_filename_with_path)

Description:

Returns the numberth section within an ini-file, that fits the pattern, e.g. the third section containing "hawaii" in it.

Uses "pattern"-string to determine if a section contains a certain pattern. Good for sections, that have a number in them, like section1, section2, section3
Returns the section that includes that pattern as a string, numbered by id.

Pattern can also contain patterns for pattern matching. Refer the LUA-docs for pattern matching.
i.e. characters like ^$()%.[]*+-? must be escaped with a %, means: %[%]%(%) etc

Returns nil, in case of an error.

Parameters:
string pattern the pattern itself. Case sensitive.
integer id the number of section, that contains pattern
string ini_filename_with_path filename of the ini-file

Returnvalues:
string sectionname a string, that contains the sectionname



^ Reaper version 5.40 SWS version 2.8.8 Ultraschall version 4.00EnumerateValuesByPattern

Functioncall:
Lua: string value, string keyname = ultraschall.EnumerateValuesByPattern(string pattern, string section, string id, string ini_filename_with_path)

Description:

Returns the numberth value(and it's accompanying key) within a section in an ini-file, that fits the pattern, e.g. the third value containing "hawaii" in it.

Uses "pattern"-string to determine if a value contains a certain pattern. Good for values, that have a number in them, like value1, value2, value3
Returns the value that includes that pattern as a string, numbered by id, as well as it's accompanying key.

Pattern can also contain patterns for pattern matching. Refer the LUA-docs for pattern matching.
i.e. characters like ^$()%.[]*+-? must be escaped with a %, means: %[%]%(%) etc

Returns nil, in case of an error.

Parameters:
string pattern the pattern itself. Case sensitive.
string section the section, in which to look for the key
integer id the number of key, that contains pattern
string ini_filename_with_path filename of the ini-file

Returnvalues:
string value the value that contains the pattern
string keyname a string, that contains the keyname



^ Reaper version 5.40 SWS version 2.8.8 Ultraschall version 4.00GetIniFileExternalState

Functioncall:
Lua: string value = ultraschall.GetIniFileExternalState(string section, string key, string ini_filename_with_path)

Description:

Gets an external state from ini_filename_with_path. Returns -1, if the file does not exist or parameters are invalid.

Parameters:
string section section of the external state
string key key of the external state. No = allowed!
string filename_with_path filename of the ini-file

Returnvalues:
integer entrylength the length of the returned value
string value the value stored in a section->key in a configuration-file



^ Reaper version 5.965 Ultraschall version 4.00GetIniFileValue

Functioncall:
Lua: integer length_of_value, string value = ultraschall.GetIniFileValue(string section, string key, string errval, string inifile)

Description:

Gets a value from a key of an ini-file

returns -1 in case of an error

Parameters:
string section the section, in which the key-value-pair is located
string key the key whose value you want
string errval an errorvalue, which will be shown, if key-value-store doesn't exist
string inifile the ini-file, from which you want to retrieve the key-value-store

Returnvalues:
integer length_of_value the length of the value in bytes
string value the value from the key-value-pair



^ Reaper version 5.40 SWS version 2.8.8 Ultraschall version 4.00SetIniFileExternalState

Functioncall:
Lua: boolean retval = ultraschall.SetIniFileExternalState(string section, string key, string value, string ini_filename_with_path)

Description:

Sets an external state into ini_filename_with_path. Returns false, if it doesn't work.

Parameters:
string section section of the external state. No = allowed!
string key key of the external state. No = allowed!
string value value for the key
string filename_with_path filename of the ini-file

Returnvalues:
boolean retval true, if setting the state was successful; false, if setting was unsuccessful



^ Reaper version 5.965 SWS version 2.10.0.1 Ultraschall version 4.00SetIniFileValue

Functioncall:
Lua: integer retval = ultraschall.SetIniFileValue(string section, string key, string value, string inifile)

Description:

Sets a value of a key in an ini-file

returns -1 in case of an error

Parameters:
string section the section, in which the key-value-pair is located
string key the key whose value you want to change
string value the new value for this key-value-pair
string inifile the ini-file, in which you want to set the key-value-store

Returnvalues:
integer retval -1, in case of an error; 1, in case of success




^ Reaper version 5.40 Ultraschall version 4.2CountKBIniActions

Functioncall:
Lua: integer actions = ultraschall.CountKBIniActions(string filename_with_path)

Description:

Count the number of "ACT"-Actions of the Reaper-kb.ini-file.
Returns -1, if no such file exists.

Returnvalues:
integer actions number of actions in the reaper-kb.ini



^ Reaper version 5.40 Ultraschall version 4.2CountKBIniKeys

Functioncall:
Lua: integer keys = ultraschall.CountKBIniKeys(string filename_with_path)

Description:

Count the number of "KEY"-Keybindings of the Reaper-kb.ini-file.
Returns -1, if no such file exists.

Returnvalues:
integer keys number of keys in the reaper-kb.ini



^ Reaper version 5.40 Ultraschall version 4.2CountKBIniScripts

Functioncall:
Lua: integer scripts = ultraschall.CountKBIniScripts(string filename_with_path)

Description:

Count the number of "SCR"-Scripts of the Reaper-kb.ini-file.
Returns -1, if no such file exists.

Returnvalues:
integer scripts number of scripts in the reaper-kb.ini



^ Reaper version 5.40 Ultraschall version 4.00DeleteKBIniActions

Functioncall:
Lua: boolean retval = ultraschall.DeleteKBIniActions(string filename_with_path, integer idx)

Description:

Deletes an "ACT"-action of a reaper-kb.ini.
Returns true/false when deleting worked/didn't work.

Needs a restart of Reaper for this change to take effect!

Parameters:
string filename_with_path filename with path for the reaper-kb.ini
integer idx indexnumber of the action within the reaper-kb.ini

Returnvalues:
boolean retval true, if deleting worked, false if it didn't



^ Reaper version 5.40 Ultraschall version 4.00DeleteKBIniKeys

Functioncall:
Lua: boolean retval = ultraschall.DeleteKBIniKeys(string filename_with_path, integer idx)

Description:

Deletes a "KEY"-keybinding of a reaper-kb.ini.
Returns true/false when deleting worked/didn't work.

Needs a restart of Reaper for this change to take effect!

Parameters:
string filename_with_path filename with path for the reaper-kb.ini
integer idx indexnumber of the keybinding within the reaper-kb.ini

Returnvalues:
boolean retval true, if deleting worked, false if it didn't



^ Reaper version 5.40 Ultraschall version 4.00DeleteKBIniScripts

Functioncall:
Lua: boolean retval = ultraschall.DeleteKBIniScripts(string filename_with_path, integer idx)

Description:

Deletes an "SCR"-script of a reaper-kb.ini.
Returns true/false when deleting worked/didn't work.

Needs a restart of Reaper for this change to take effect!

Parameters:
string filename_with_path filename with path for the reaper-kb.ini
integer idx indexnumber of the script within the reaper-kb.ini

Returnvalues:
boolean retval true, if deleting worked, false if it didn't



^ Reaper version 6.17 Ultraschall version 4.2GetActionCommandIDByFilename

Functioncall:
Lua: string ActionCommandID = ultraschall.GetActionCommandIDByFilename(string searchfilename, integer searchsection, optional boolean case_sensitive)

Description:

Returns the action-command-id of a script by its filename, as registered in the reaper-kb.ini.

Important: scripts in subfolders of Scripts must be written with their full path. \ and / are supported as folder-separators.
Setting case_sensitive=false will return the action-command-id of the first script matching the filename, when you don't know the exact case-sensitivity.
Keep in mind, that on Linux, camelcase can mean different filenames. So Prototype.lua and prototype.lua are different files on Linux, when they exist together.
Keep that in mind or you risk finding the wrong ActionCommandID.

Returns nil in case of an error

Parameters:
string searchfilename the filename(plus path, if needed) of the script, whose ActionCommandID you want to have.
integer section the section, in which the file is stored 0, Main, 100, Main (alt recording), 32060, MIDI Editor, 32061, MIDI Event List Editor, 32062, MIDI Inline Editor, 32063, Media Explorer.
optional boolean case_sensitive true or nil, search for filename on a case-sensitive base; false, case-sensitivity in filename is ignored

Returnvalues:
string ActionCommandID the actioncommand-id of the scriptfile; "", if no such file is installed; nil, in case of an error



^ Reaper version 5.40 Ultraschall version 4.2GetKBIniActions

Functioncall:
Lua: integer consolidate, integer section, string ActionCommandID, string description, string ActionsToBeExecuted = ultraschall.GetKBIniActions(string filename_with_path, integer idx)

Description:

Get the states of "ACT"-Action number idx. Returns consolidate, section, ActionCommandID, description, ActionsToBeExecuted.
Returns -1, if no such entry or file exists.

Parameters:
string filename_with_path path and filename of the reaper-kb.ini; nil, use current Reaper's reaper-kb.ini
integer idx the number of the action to get, beginning with 1 for the first one

Returnvalues:
integer consolidate consolidate-state 1 consolidate undo points, 2 show in Actions-Menu, 3 consolidate undo points AND show in Actions Menu; maybe 4 and higher?
integer section the section, in which this action is executed 0 - Main 1 - action stays invisible but is kept, if Reaper rewrites the reaper-kb.ini. Menu-buttons with this action associated appear but don't work. 100 - Main (alt recording) 32060 - MIDI Editor 32061 - MIDI Event List Editor 32062 - MIDI Inline Editor 32063 - Media Explorer
string ActionCommandID the ActionCommandID given to this Action
string description the description of this action
string ActionsToBeExecuted the actions that are run, the ActionCommandIDs beginning with _, multiple ActionCommandIDs are separated by whitespaces



^ Reaper version 5.40 Ultraschall version 4.2GetKBIniActionsID_ByActionCommandID

Functioncall:
Lua: string retval, integer indexcount, table indices = ultraschall.GetKBIniActionsID_ByActionCommandID(filename_with_path, ActionCommandID)

Description:

Returns the indexnumber(s) of actions by ActionCommandIDs within a reaper-kb.ini.
Returns -1, if no such entry or file exists.

Parameters:
string filename_with_path path and filename of the reaper-kb.ini; nil, use current Reaper's reaper-kb.ini
string ActionCommandID the ActionCommandID

Returnvalues:
string retval the ids of actions with ActionCommandID, separated by a ,
integer indexcount the number of indices found
table indices a table with all indices found



^ Reaper version 5.40 Ultraschall version 4.00GetKBIniFilepath

Functioncall:
Lua: string kb_ini_path = ultraschall.GetKBIniFilepath()

Description:

Returns the path and filename of the Reaper-kb.ini-file.

Returnvalues:
string kb_ini_path path and filename of the reaper-kb.ini



^ Reaper version 5.40 Ultraschall version 4.2GetKBIniKeys

Functioncall:
Lua: integer keytype_modifier_midichan, integer key_midinote, string ActionCommandID, integer section = ultraschall.GetKBIniKeys(string filename_with_path, integer idx)

Description:

Get the states of "KEY"-Keybinding-number idx, for MIDI/Key-bindings. Returns keytype_modifier_midichan, key_midinote, ActionCommandID, section.

For a detailed description in how KEY-entries work, refer to Reaper-Filetype-Descriptions.html#Reaper-kb.ini.

Returns -1, if no such entry or file exists.
Does not return OSC-keybindings, as they are stored in OSC/reaper-osc-actions.ini !
returns -1 in case of an error

Parameters:
string filename_with_path path and filename of the reaper-kb.ini; nil, use current Reaper's reaper-kb.ini
integer idx the number of the action to get, beginning with 1 for the first one

Returnvalues:
integer keytype_modifier_midichan Type of Keytype, modifier or midichannel For a detailed description in how keytype/modifier in KEY-entries work, refer to Reaper-Filetype-Descriptions.html#Reaper-kb.ini.
integer key_midinote the key(like ASCII-Codes) or midinote. For a detailed description in how key/midinotes in KEY-entries work, refer to Reaper-Filetype-Descriptions.html#Reaper-kb.ini.
string ActionCommandID the ActionCommandID associated with this shortcut.
integer section the section, in which this shortcut is used 0 - Main 100 - Main (alt recording) 32060 - MIDI Editor 32061 - MIDI Event List Editor 32062 - MIDI Inline Editor 32063 - Media Explorer



^ Reaper version 5.40 Ultraschall version 4.2GetKBIniKeys_ByActionCommandID

Functioncall:
Lua: string retval, integer indexcount, table indices = ultraschall.GetKBIniKeys_ByActionCommandID(filename_with_path, ActionCommandID)

Description:

Returns the indexnumber(s) of keys by ActionCommandIDs within a reaper-kb.ini.
Returns nil, if no such entry or file exists.

Parameters:
string filename_with_path path and filename of the reaper-kb.ini; nil, use current Reaper's reaper-kb.ini
string ActionCommandID the ActionCommandID

Returnvalues:
string retval the ids of keys with ActionCommandID, separated by a ,
integer indexcount the number of indices found
table indices a table with all indices found



^ Reaper version 5.40 Ultraschall version 4.2GetKBIniScripts

Functioncall:
Lua: integer terminateinstance, integer section, string ActionCommandID, string description, string scriptfile = ultraschall.GetKBIniScripts(string filename_with_path, integer idx)

Description:

Get the states of "SCR"-Scripts number idx. Returns terminateinstance, section, ActionCommandID, description, scriptfile.
Returns -1, if no such entry or file exists.

Parameters:
string filename_with_path path and filename of the reaper-kb.ini; nil, use current Reaper's reaper-kb.ini
integer idx the number of the action to get, beginning with 1 for the first one

Returnvalues:
integer terminateinstance the state of terminating instances 4 - Dialogwindow appears(Terminate, New Instance, Abort), if another instance of a given script is started, that's already running 260 - always Terminate Instances, when an instance of the script is already running 516 - always start a New Instance of the script already running
integer section the section, in which this action is executed 0 - Main 1 - action stays invisible but is kept, if Reaper rewrites the reaper-kb.ini. Menu-buttons with this action associated appear but don't work. 100 - Main (alt recording) 32060 - MIDI Editor 32061 - MIDI Event List Editor 32062 - MIDI Inline Editor 32063 - Media Explorer
string ActionCommandID the ActionCommandID given to this Action
string description the description of this action
string scriptfile the filename of the script that shall be run



^ Reaper version 5.40 Ultraschall version 4.2GetKBIniScripts_ByActionCommandID

Functioncall:
Lua: string retval, integer indexcount, table indices = ultraschall.GetKBIniScripts_ByActionCommandID(filename_with_path, ActionCommandID)

Description:

Returns the indexnumber(s) of scripts by ActionCommandIDs within a reaper-kb.ini.
Returns nil, if no such entry or file exists.

Parameters:
string filename_with_path path and filename of the reaper-kb.ini; nil, use current Reaper's reaper-kb.ini
string ActionCommandID the ActionCommandID

Returnvalues:
string retval the ids of scripts with ActionCommandID, separated by a ,
integer indexcount the number of indices found
table indices a table with all indices found



^ Reaper version 6.02 SWS version 2.10.0.1 Ultraschall version 4.00QueryKeyboardShortcutByKeyID

Functioncall:
Lua: string Shortcutname = ultraschall.QueryKeyboardShortcutByKeyID(integer modifier, integer key)

Description:

Returns the name of the shortcut of the modifier-key-values, as stored in the KEY-entries within the reaper-kb.ini

That way, you can take a KEY-entry from the reaper-kb.ini, like

      KEY 1 65 _Ultraschall_Play_From_Editcursor_Position 0
      
Extract the modifier and key-values(1 and 65 in the example) and pass them to this function.
You will get returned "A" as 1 and 65 is the keyboard-shortcut-code for the A-key.

Only necessary for those, who try to read keyboard-shortcuts directly from the reaper-kb.ini to display them in some way.

returns nil in case of an error

Parameters:
integer modifier the modifier value, which is the first one after KEY in a KEY-entry in the reaper-kb.ini-file
integer key the key value, which is the second one after KEY in a KEY-entry in the reaper-kb.ini-file

Returnvalues:
string Shortcutname the actual name of the shortcut, like "A" or "F1" or "Ctrl+Alt+Shift+Win+PgUp".



^ Reaper version 5.40 Ultraschall version 4.00SetKBIniActions

Functioncall:
Lua: boolean retval, integer actionnumber = ultraschall.SetKBIniActions(string filename_with_path, integer consolidate, integer section, string ActionCommandID, string Description, string ActionCommandIDs, boolean replace)

Description:

Adds or sets(if it already exists) an "ACT"-action of a reaper-kb.ini.
Returns true/false when adding or setting worked/didn't work, as well as the action-number within the reaper-kb.ini

Needs a restart of Reaper for this change to take effect!

Parameters:
string filename_with_path filename with path for the reaper-kb.ini
integer consolidate consolidation state of this action 1 consolidate undo points, 2 show in Actions-Menu, 3 consolidate undo points AND show in Actions Menu; maybe 4 and higher?
integer section section, in which this action is started 0 - Main 1 - action stays invisible but is kept, if Reaper rewrites the reaper-kb.ini. Menu-buttons with this action associated appear but don't work. 100 - Main (alt recording) 32060 - MIDI Editor 32061 - MIDI Event List Editor 32062 - MIDI Inline Editor 32063 - Media Explorer
string ActionCommandID the ActionCommandID of this action
string Description a description for this action
string ActionCommandIDs the ActionCommandIDs for the actions, that are triggered by this action; unlike CommandID-numbers, every ActionCommandID must begin with _ ; will not be checked vor valid ones!
boolean replace true if an already existing entry shall be replaced, false if not

Returnvalues:
boolean retval true, if adding/setting worked, false if it didn't
integer actionnumber the entrynumber within the reaper-kb.ini of this action



^ Reaper version 5.40 Ultraschall version 4.00SetKBIniKeys

Functioncall:
Lua: boolean retval, integer keynumber = ultraschall.SetKBIniKeys(string filename_with_path, integer keytype_modifier_midichan, integer key_midinote, string ActionCommandID, integer section, boolean replace)

Description:

Adds or sets(if it already exists) a "KEY"-key of a reaper-kb.ini.
Returns true/false when adding or setting worked/didn't work, as well as the keybinding-number within the reaper-kb.ini.
Additional keybindings cannot share the same keytype_modifier_midichan, key_midinote and section at the same time, as every such keybind must be unique.

For a detailed description in how KEY-entries work, refer to Reaper-Filetype-Descriptions.html#Reaper-kb.ini.

Does not support OSC-keybindings, as they are stored in OSC/reaper-osc-actions.ini !

Needs a restart of Reaper for this change to take effect!

returns false in case of an error

Parameters:
string filename_with_path filename with path for the reaper-kb.ini
integer keytype_modifier_midichan Type of Keytype, modifier or midichannel For a detailed description in how keytype/modifier in KEY-entries work, refer to Reaper-Filetype-Descriptions.html#Reaper-kb.ini.
integer key_midinote the key(like ASCII-Codes) or midinote. For a detailed description in how key/midinotes in KEY-entries work, refer to Reaper-Filetype-Descriptions.html#Reaper-kb.ini.
string ActionCommandID the ActionCommandID associated with this shortcut.
integer section the section, in which this shortcut is used 0 - Main 100 - Main (alt recording) 32060 - MIDI Editor 32061 - MIDI Event List Editor 32062 - MIDI Inline Editor 32063 - Media Explorer
boolean replace true if an already existing entry shall be replaced, false if not

Returnvalues:
boolean retval true, if adding/setting worked, false if it didn't
integer scriptnumber the entrynumber within the reaper-kb.ini of this script



^ Reaper version 5.40 Ultraschall version 4.00SetKBIniScripts

Functioncall:
Lua: boolean retval, integer scriptnumber = ultraschall.SetKBIniScripts(string filename_with_path, integer terminate, integer section, string ActionCommandID, string Description, string Scriptname, boolean replace)

Description:

Adds or sets(if it already exists) an "SCR"-script of a reaper-kb.ini.
Returns true/false when adding or setting worked/didn't work, as well as the script-number within the reaper-kb.ini

Needs a restart of Reaper for this change to take effect!

Parameters:
string filename_with_path filename with path for the reaper-kb.ini
integer terminate_state state of handling mulitple running scripts 4 - Dialogwindow appears(Terminate, New Instance, Abort), if another instance of a given script is started, that's already running 260 - always Terminate Instances, when an instance of the script is already running 516 - always start a New Instance of the script already running
integer section section, in which this script is started 0 - Main 1 - action stays invisible but is kept, if Reaper rewrites the reaper-kb.ini. Menu-buttons with this action associated appear but don't work. 100 - Main (alt recording) 32060 - MIDI Editor 32061 - MIDI Event List Editor 32062 - MIDI Inline Editor 32063 - Media Explorer
string ActionCommandID the ActionCommandID of this action
string Description a description for this script
string Scriptname the name of the ReaScript, like .lua or .eel or .py
boolean replace true if an already existing entry shall be replaced, false if not

Returnvalues:
boolean retval true, if adding/setting worked, false if it didn't
integer scriptnumber the entrynumber within the reaper-kb.ini of this script




^ Reaper version 6.02 Ultraschall version 4.00Defer

Functioncall:
Lua: boolean retval, optional string defer_identifier = ultraschall.Defer(function func, string deferidentifier, optional integer mode, optional number timer_counter, optional boolean protected)

Description:

runs a custom-defer-cycle, which can be individualized.

You can set, how often this defer-cycle shall be run(every x defer-cycle or every x seconds) and even stop the defer-cycle from in- and outside of the script, using the defer_identifier you have given.

To stop such a defer-cycle, use StopDeferCycle, as long as parameter protected is not set to true! Important: make the deferidentifier as unique as possible(using guids or similar stuff) to avoid naming conflicts with other defer-cycles using the same identifier. Otherwise, you risk stopping multiple such defer-loops, when using StopDeferCycle!

For the old Defer1 to Defer20-behavior, try ultraschall.ScriptIdentifier..".defer_scriptXX" as defer-identifier, where XX is a number.

returns false in case of an error (e.g. already 1024 defer-cycles are running in the current script-instance)


Parameters:
function func the function, you would love to defer to
string deferidentifier an identifier, under which you can access this defer-cycle; make it unique using guids in the name, to avoid name-conflicts!
optional integer mode 0 or nil, just run as regular defer-cycle 1, run the defer-cycle only every timer_counter-cycle 2, run the defer-cycle only every timer_counter-seconds
optional number timer_counter the timer for the defer-cycle mode=1: 1 and higher, the next defer-cycle that shall be used by function func. Use 1 for every cycle, 2 for every second cycle. 30 cycles are approximately 1 second. mode=2: 0 and higher, the amount of seconds to wait, until the function func is run the next time.
optional boolean protected true, this defer-cycle is protected from being stopped by StopDeferCycle(); false or nil, you can stop this defer-cycle using StopDeferCycle()

Returnvalues:
boolean retval true, running this defer-cycle was successful; false, it wasn't successful
optional string defer_identifier if running this defer-cycle was successful, this holds the defer-identifier you've chosen



^ Reaper version 6.02 Ultraschall version 4.00GetDeferCycleSettings

Functioncall:
Lua: integer mode, integer timer_counter = ultraschall.GetDeferCycleSettings(string deferidentifier)

Description:

Gets a the mode and timing-settings of a currently running ultraschall.Defer()-cycle

Returns nil in case of failure.

Parameters:
string deferidentifier an identifier, under which you can access this defer-cycle; make it unique using guids in the name, to avoid name-conflicts!

Returnvalues:
integer mode the timing mode, in which the defer-cycle runs 0, just run as regular defer-cycle 1, run the defer-cycle only every timer_counter-cycle 2, run the defer-cycle only every timer_counter-seconds
number timer_counter the timer for the defer-cycle mode=1: 1 and higher, the next defer-cycle that shall be used by function func. Use 1 for every cycle, 2 for every second cycle. 30 cycles are approximately 1 second. mode=2: 0 and higher, the amount of seconds to wait, until the function func is run the next time.



^ Reaper version 5.965 Ultraschall version 4.00GetDeferRunState

Functioncall:
Lua: boolean retval = ultraschall.GetDeferRunState(integer deferinstance, optional string scriptidentifier)

Description:

returns the run-state of a Ultraschall-defer-loop in a specific scriptinstance

You can either request the runstate of a Defer-deferred-function(set parameter deferinstance to 0).

returns nil in case of an error.


Parameters:
integer deferinstance 0, to use the parameter identifier
optional string identifier when deferinstance=0 (when using the Defer-function): the identifier of the defer-cycle, you've started with Defer

Returnvalues:
boolean retval true, defer-instance is running; false, defer-instance isn't running



^ Reaper version 6.02 Ultraschall version 4.00SetDeferCycleSettings

Functioncall:
Lua: boolean retval = ultraschall.SetDeferCycleSettings(string deferidentifier, optional integer mode, optional number timer_counter)

Description:

Sets the mode and timing settings of a running ultraschall.Defer-instance. You can set its mode and the timer/counter-values, even from a script, which does not run the defer-instance!

Returns false in case of failure.

Parameters:
string deferidentifier an identifier, under which you can access this defer-cycle; make it unique using guids in the name, to avoid name-conflicts!
optional integer mode the timing mode, in which the defer-cycle runs nil, reset to the default-settings of the Defer-Cycle 0, just run as regular defer-cycle 1, run the defer-cycle only every timer_counter-cycle 2, run the defer-cycle only every timer_counter-seconds
optional number timer_counter the timer for the defer-cycle mode=1: 1 and higher, the next defer-cycle that shall be used by function func. Use 1 for every cycle, 2 for every second cycle. 30 cycles are approximately 1 second. mode=2: 0 and higher, the amount of seconds to wait, until the function func is run the next time.

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 5.965 Ultraschall version 4.00StopDeferCycle

Functioncall:
Lua: boolean retval = ultraschall.StopDeferCycle(string defer_identifier)

Description:

Stops a running ultraschall.Defer-instance of a script-instance.

returns false in case of an error


Parameters:
string defer_identifier the identifier of the defer-cycle of a script-instance

Returnvalues:
boolean retval true, stopping this defer-cycle was successful; false, it wasn't successful




^ Reaper version 5.965 Ultraschall version 4.00AddErrorMessage

Functioncall:
Lua: boolean retval, integer errorcount = ultraschall.AddErrorMessage(string functionname, string parametername, string errormessage, integer errorcode)

Description:

Adds a new errormessage to the Ultraschall-Api-Error-messagesystem. Returns the number of the errormessage.
Intended for your own 3rd party-functions for the API, to give the user more feedback about errors than just a cryptic errorcode.

returns false in case of failure

Parameters:
string functionname the function, where the error happened
string parametername the parameter, that caused the problem
string errormessage a longer description of what cause the problem and a hint to a possible solution
integer errorcode a number, that represents the error-message. Will be -1 by default, if not given.

Returnvalues:
boolean retval true, if it worked; false if it didn't
integer errorcount the number of the errormessage within the Ultraschall-Api-Error-messagesystem; nil, if errormessages are suppressed currently



^ Reaper version 5.95 Ultraschall version 4.00CountErrorMessage_Funcname

Functioncall:
Lua: integer number_of_errormessages = ultraschall.CountErrorMessage_Funcname(string functionname)

Description:

Returns the number of available errormessages for functionname, existing in the Error-Messaging-System.

returns -1 in case of error

Parameters:
string functionname the name of the function, whose error messages you want to count

Returnvalues:
integer number_of_errormessages the number of errormessages functionname has left in the Error-Messaging-System



^ Reaper version 5.40 Ultraschall version 4.00CountErrorMessages

Functioncall:
Lua: integer errorcounter = ultraschall.CountErrorMessages()

Description:

Returns the current count of errormessages in the system available.

Returnvalues:
integer errorcounter the number of errormessages currently available in the error-message-system. Includes read and unread ones.



^ Reaper version 5.40 Ultraschall version 4.00DeleteAllErrorMessages

Functioncall:
Lua: boolean retval = ultraschall.DeleteAllErrorMessages()

Description:

Deletes all error-messages and returns a boolean value.
returns false in case of failure

Returnvalues:
boolean retval true, if it worked; false if it didn't



^ Reaper version 5.40 Ultraschall version 4.00DeleteErrorMessage

Functioncall:
Lua: boolean retval = ultraschall.DeleteErrorMessage(integer errornumber)

Description:

Deletes an error-message within the Ultraschall-ErrorMessagesystem.

returns false in case of failure

Parameters:
integer errornumber the number of the error to delete, beginning with 1. Use CountErrorMessages to get the current number of error-messages.

Returnvalues:
boolean retval true, if such an error exists; false if it didn't



^ Reaper version 5.40 Ultraschall version 4.00DeleteLastErrorMessage

Functioncall:
Lua: boolean retval = ultraschall.DeleteLastErrorMessage()

Description:

Deletes the last error-message and returns a boolean value.
returns false in case of failure

Returnvalues:
boolean retval true, if it worked; false if it didn't



^ Reaper version 5.95 Ultraschall version 4.00GetErrorMessage_Funcname

Functioncall:
Lua: integer errorindex, string parametername, string errormessage, integer errorcode = ultraschall.GetErrorMessage_Funcname(string functionname, integer index)

Description:

Returns a specific errormessage specified by index, functionname added to the Error-Messaging-System.
Sets read-state of the error-message to the date-time of accessing it.

returns -1 in case of error

Parameters:
string functionname the name of the function, whose last error message you want to retrieve
integer index the index of the error-message for functionname

Returnvalues:
integer errorindex the index of the error within the Error-Messaging-System
string parametername the parameter that produced the problem, or "" if no parameter was involved
string errormessage the errormessage
integer errorcode the errorcode the error has



^ Reaper version 5.40 Ultraschall version 4.00GetLastErrorMessage

Functioncall:
Lua: boolean retval, integer errcode, string functionname, string parmname, string errormessage, string lastreadtime, string err_creation_date, string err_creation_timestamp, integer errorcounter = ultraschall.GetLastErrorMessage()

Description:

Reads the last error-message stored in the Ultraschall-ErrorMessagesystem.
Returns a boolean value, the functionname, the errormessage, the date and a timestamp of the creation of the errormessage, the unread-status as well as the error-message-number.
returns false in case of failure

Parameters:
integer errornumber the number of the error, beginning with 1. Use CountErrorMessages to get the current number of error-messages.

Returnvalues:
boolean retval true, if it worked; false if it didn't
integer errcode the errorcode of this message, as set by the function that created this errormessage; -1 is default value
string functionname the name of the function, where the problem happened
string parmname the parameter, that was used wrong by the programmer; "" if no parameter was involved in this error
string errormessage the message of the problem with a possible hint to a solution
string readstatus "unread" if the message hasn't been read yet or a date_time from when the message has been read already
string err_creation_date the date_time of when the error-message was created
string err_creation_timestamp the timestamp of when the error-message was created. Usually seconds, since system got started
integer errorcounter the error-message-number within the Ultraschall-Error-Message-System



^ Reaper version 5.40 Ultraschall version 4.00GetLastErrorMessage2

Functioncall:
Lua: boolean retval, array ErrorMessages = ultraschall.GetLastErrorMessage2(integer count, boolean setread)

Description:

Returns an array with the last "count" errormessages. 1 for the last, 2 for the last 2, etc.
Set setread to false, if you want to retain the unread status of the error-messages.
returns false in case of failure

Parameters:
integer count the number of the last few errors, you want to get returned. Use CountErrorMessages to get the current number of error-messages.

Returnvalues:
boolean retval true, if it worked; false if it didn't
array ErrorMessages an array, that contains all values for the chosen number of errormessages. The fields are ErrorMessages[errornumber][x], where x stands for "errcode" - the errorcode of this function, default is -1 "funcname" - functionname "parmname" - name of the parameter, that caused the error "errmsg" - errormessage "readstate" - readstatus "date" - errorcreation date_time "time" - errorcreation timestamp in seconds, usually seconds since computer has been started



^ Reaper version 5.95 Ultraschall version 4.00GetLastErrorMessage_Funcname

Functioncall:
Lua: integer errorindex, string parametername, string errormessage, integer errorcode = ultraschall.GetLastErrorMessage_Funcname(string functionname)

Description:

Returns the last errormessage, a certain function added to the Error-Messaging-System.
Sets read-state of the error-message to the date-time of accessing it.

returns -1 in case of error

Parameters:
string functionname the name of the function, whose last error message you want to retrieve

Returnvalues:
integer errorindex the index of the error within the Error-Messaging-System
string parametername the parameter that produced the problem, or "" if no parameter was involved
string errormessage the errormessage
integer errorcode the errorcode the error has



^ Reaper version 5.40 Ultraschall version 4.1ReadErrorMessage

Functioncall:
Lua: boolean retval, integer errcode, string functionname, string parmname, string errormessage, string lastreadtime, string err_creation_date, string err_creation_timestamp = ultraschall.ReadErrorMessage(integer errornumber, optional boolean keep_unread)

Description:

Reads an error-message within the Ultraschall-ErrorMessagesystem.
Returns a boolean value, the functionname, the errormessage, the "you've already read this message"-status, the date and a timestamp of the creation of the errormessage.
returns false in case of failure

Parameters:
integer errornumber the number of the error, beginning with 1. Use CountErrorMessages to get the current number of error-messages.
optional boolean keep_unread true, keeps the message unread; false or nil, sets the readstate of the message

Returnvalues:
boolean retval true, if it worked; false if it didn't
integer errcode the errorcode of this message, as set by the function that created this errormessage; -1 is default value
string functionname the name of the function, where the problem happened
string parmname the parameter, that was used wrong by the programmer; "" if no parameter was involved in this error
string errormessage the message of the problem with a possible hint to a solution
string readstatus "unread" if the message hasn't been read yet or a date_time from when the message has been read already
string err_creation_date the date_time of when the error-message was created
string err_creation_timestamp the timestamp of when the error-message was created. Usually seconds, since system got started



^ Reaper version 5.40 Ultraschall version 4.2SFEM

Functioncall:
Lua: requested_error_message = SFEM(optional integer dunk, optional integer target, optional integer message_type)

Description:

Displays the first error message in a messagebox, the ReaScript-Console, the clipboard, if error is existing and unread.

Parameters:
optional integer dunk allows to index the last x'ish message to be returned; nil or 0, the last one; 1, the one before the last one, etc.
optional integer target the target, where the error-message shall be output to 0 or nil, target is a message box 1, target is the ReaScript-Console 2, target is the clipboard 3, target is a returned string
optional integer message_type if target is set to 3, you can set, which part of the error-messageshall be returned as returnvalue nil or 1, returns true, if error has happened, false, if error didn't happen 2, returns the errcode 3, returns the functionname which caused the error 4, returns the parmname which caused the error 5, returns the errormessage 6, returns the lastreadtime 7, returns the err_creation_date 8, returns the err_creation_timestamp

Returnvalues:
requested_error_message the errormessage requested;



^ Reaper version 5.40 Ultraschall version 4.1SLEM

Functioncall:
Lua: requested_error_message = SLEM(optional integer dunk, optional integer target, optional integer message_type)

Description:

Displays the last error message in a messagebox, the ReaScript-Console, the clipboard, if error is existing and unread.

Like ultraschall.ShowLastErrorMessage() but this is easier to type.
Note: written without ultraschall. in the beginning!

Parameters:
optional integer dunk allows to index the last x'ish message to be returned; nil or 0, the last one; 1, the one before the last one, etc.
optional integer target the target, where the error-message shall be output to 0 or nil, target is a message box 1, target is the ReaScript-Console 2, target is the clipboard 3, target is a returned string
optional integer message_type if target is set to 3, you can set, which part of the error-messageshall be returned as returnvalue nil or 1, returns true, if error has happened, false, if error didn't happen 2, returns the errcode 3, returns the functionname which caused the error 4, returns the parmname which caused the error 5, returns the errormessage 6, returns the lastreadtime 7, returns the err_creation_date 8, returns the err_creation_timestamp

Returnvalues:
requested_error_message the errormessage requested;



^ Reaper version 5.965 Ultraschall version 4.00ShowErrorMessagesInReascriptConsole

Functioncall:
Lua: ultraschall.ShowErrorMessagesInReascriptConsole(boolean state)

Description:

Sets, if errormessages shall be shown in the ReaScript-Console immediately, when they happen.

Will show functionname, parametername, errorcode plus errormessage and the time the error has happened.

Parameters:
boolean state true, show error-messages in the ReaScript-Console when they happen; false, don't show errormessages



^ Reaper version 5.40 Ultraschall version 4.1ShowLastErrorMessage

Functioncall:
Lua: requested_error_message = ultraschall.ShowLastErrorMessage(optional integer dunk, optional integer target, optional integer message_type)

Description:

Displays the last error message in a messagebox, the ReaScript-Console, the clipboard, if error is existing and unread.

Parameters:
optional integer dunk allows to index the last x'ish message to be returned; nil or 0, the last one; 1, the one before the last one, etc.
optional integer target the target, where the error-message shall be output to 0 or nil, target is a message box 1, target is the ReaScript-Console 2, target is the clipboard 3, target is a returned string
optional integer message_type if target is set to 3, you can set, which part of the error-messageshall be returned as returnvalue nil or 1, returns true, if error has happened, false, if error didn't happen 2, returns the errcode 3, returns the functionname which caused the error 4, returns the parmname which caused the error 5, returns the errormessage 6, returns the lastreadtime 7, returns the err_creation_date 8, returns the err_creation_timestamp

Returnvalues:
requested_error_message the errormessage requested;



^ Reaper version 5.965 Ultraschall version 4.00SuppressErrorMessages

Functioncall:
Lua: boolean retval = ultraschall.SuppressErrorMessages(boolean flag)

Description:

Allows you to suppress error-messages.
If you pass true, all error messages will be suppressed, until you run the function again passing false.

Note: You should supress error-messages only temprarily and "unsuppress" them again, after your critical stuff is finished.
Otherwise, someone using your functions will have no error-messages to debug with.

Returns false, if parameter isn't boolean. Unlike most other function, this will never create an error-message!

Parameters:
boolean flag true, suppress error-messages; false, don't suppress error-messages

Returnvalues:
boolean retval true, setting was successful; false, you didn't pass a boolean as parameter



^ Reaper version 5.40 Ultraschall version 4.00ToggleIDE_Errormessages

Functioncall:
Lua: boolean retval = ultraschall.ToggleIDE_Errormessages(optional boolean togglevalue)

Description:

Toggles or sets, if the error-messaging system shall output it's errors to Reaper's IDE(true) or not(false).
When set true, it will show the errormessages at the bottom of the IDE, as you are used by Reaper's own functions.

Parameters:
optional boolean togglevalue true, if errormessages shall be shown at the bottom of the IDE, false if not. If omitted, it toggles what was set before.

Returnvalues:
boolean retval true, if errors will be shown at the bottom of the IDE; false, if not




^ Reaper version 5.77 Ultraschall version 4.00APIExists

Functioncall:
Lua: boolean retval = ultraschall.APIExists(string functionname)

Description:

returns true, if a certain function/variable exists in ultraschall.

returns false if nothing has been found

Parameters:
string functionname the name of the function to check for; only the functionname without ultraschall. !

Returnvalues:
boolean retval true, if element exists; false if it doesn't exist



^ Reaper version 5.40 Ultraschall version 4.00ApiTest

Functioncall:
Lua: ultraschall.ApiTest()

Description:

Displays a message to show, which parts of the Ultraschall-API are turned on and which are turned off.



^ Reaper version 6.10 Ultraschall version 4.2EditReaScript

Functioncall:
Lua: boolean retval, optional command_id = ultraschall.EditReaScript(optional string filename, optional boolean add_ultraschall_api, optional integer add_to_actionlist_section, optional integer x_pos, optional integer y_pos, optional integer width, optional integer height)

Description:

Opens a script in Reaper's ReaScript-IDE.

If the file does not exist yet, it will try to create it. If parameter filename doesn't contain a valid directory, it will try to create the script in the Scripts-folder of Reaper.

Setting filename=nil will open the last one edited using this function.

returns false in case of an error

Parameters:
optional string filename the filename of the new reascript-file to create(add .lua or .py or .eel to select the language). nil, opens the last ReaScript-file you opened with this function
optional boolean add_ultraschall_api true, add Ultraschall-API-call into the script(only in newly created ones!); false or nil, just open a blank script
optional integer add_to_actionlist_section the section, into which you want to add the script nil, don't add, only open the script in IDE 0, Main 100, Main (alt recording) Note: If you already added to main(section 0), this function automatically adds the script to Main(alt) as well. 32060, MIDI Editor 32061, MIDI Event List Editor 32062, MIDI Inline Editor 32063, Media Explorer
optional integer x_pos x-position of the ide-window in pixels; nil, use the last one used
optional integer y_pos y-position of the ide-window in pixels; nil, use the last one used
optional integer width width of the ide-window in pixels; nil, use the last one used
optional integer height height of the ide-window in pixels; nil, use the last one used

Returnvalues:
boolean retval true, opening was successful; false, opening was unsuccessful
optional integer command_id the command-id of the script, when it gets newly created



^ Reaper version 5.40 Ultraschall version 4.2RFR

Functioncall:
Lua: ... = RFR(integer length, ...)

Description:

returns only the first x return-values, as given by length.

You can put the return-values of another function and just get the first x ones. So if the function returns 10 returnvalues,
but you only need the first two, set length=2 and add the function(with the 10 returnvalues) after it as second parameter.


For example:

integer r, integer g, integer b = reaper.ColorFromNative(integer col)

returns three colorvalues. If you only want the first one(r), use it this way:

r=RFR(1, reaper.ColorFromNative(12739))



returns nil in case of an error

Parameters:
integer length the number of the first return-values to return
various ... further parameters, which can be multiple values or just the return-values of another function.

Returnvalues:
various ... the requested first-n returnvalues



^ Reaper version 5.40 Ultraschall version 4.2RLR

Functioncall:
Lua: ... = RLR(integer length, ...)

Description:

returns only the last x return-values, as given by length.

You can put the return-values of another function and just get the last x ones. So if the function returns 10 returnvalues,
but you only need the last two, set length=2 and add the function(with the 10 returnvalues) after it as second parameter.


For example:

integer r, integer g, integer b = reaper.ColorFromNative(integer col)

returns three colorvalues. If you only want the last one(b), use it this way:

b=RLR(1, reaper.ColorFromNative(12739))



returns nil in case of an error

Parameters:
integer length the number of the last return-values to return
various ... further parameters, which can be multiple values or just the return-values of another function.

Returnvalues:
various ... the requested last-n returnvalues



^ Reaper version 5.40 Ultraschall version 4.2RRR

Functioncall:
Lua: ... = RRR(integer position, integer length, ...)

Description:

returns only the x return-values between position and position+length.

You can put the return-values of another function and just get the ones between position and position+length. So if the function returns 10 returnvalues,
but you only need the third through the fifth, set position=3 and length=3 and add the function(with the 10 returnvalues) after it as third parameter.


For example:

integer r, integer g, integer b = reaper.ColorFromNative(integer col)

returns three colorvalues. If you only want the middle one(g), use it this way:

g=RLR(2, 1, reaper.ColorFromNative(12739))



returns nil in case of an error

Parameters:
integer position the first return-value to return
integer length the number of return-values to return(position+length)
various ... further parameters, which can be multiple values or just the return-values of another function.

Returnvalues:
various ... the requested n returnvalues between position and length+position




^ Reaper version 6.10 Ultraschall version 4.1ActivateTrackPanEnv

Functioncall:
Lua: boolean retval = ultraschall.ActivateTrackPanEnv(integer track)

Description:

activates a pan-envelope of a track

returns false in case of error


Parameters:
integer track the track, whose pan-envelope you want to activate; 1, for the first track

Returnvalues:
boolean retval true, activating was successful; false, activating was unsuccessful



^ Reaper version 6.10 Ultraschall version 4.1ActivateTrackPanEnv_TrackObject

Functioncall:
Lua: boolean retval = ultraschall.ActivateTrackPanEnv_TrackObject(MediaTrack track)

Description:

activates a pan-envelope of a MediaTrack-object

returns false in case of error


Parameters:
MediaTrack track the track, whose pan-envelope you want to activate

Returnvalues:
boolean retval true, activating was successful; false, activating was unsuccessful



^ Reaper version 6.10 Ultraschall version 4.1ActivateTrackPreFXPanEnv

Functioncall:
Lua: boolean retval = ultraschall.ActivateTrackPreFXPanEnv(integer track)

Description:

activates a preFX-pan-envelope of a track

returns false in case of error


Parameters:
integer track the track, whose preFX-pan-envelope you want to activate; 1, for the first track

Returnvalues:
boolean retval true, activating was successful; false, activating was unsuccessful



^ Reaper version 6.10 Ultraschall version 4.1ActivateTrackPreFXPanEnv_TrackObject

Functioncall:
Lua: boolean retval = ultraschall.ActivateTrackPreFXPanEnv_TrackObject(MediaTrack track)

Description:

activates a preFX-pan-envelope of a MediaTrack-object

returns false in case of error


Parameters:
MediaTrack track the track, whose prefx-pan-envelope you want to activate

Returnvalues:
boolean retval true, activating was successful; false, activating was unsuccessful



^ Reaper version 6.10 Ultraschall version 4.1ActivateTrackPreFXVolumeEnv

Functioncall:
Lua: boolean retval = ultraschall.ActivateTrackPreFXVolumeEnv(integer track)

Description:

activates a preFX-volume-envelope of a track

returns false in case of error


Parameters:
integer track the track, whose preFX-volume-envelope you want to activate; 1, for the first track

Returnvalues:
boolean retval true, activating was successful; false, activating was unsuccessful



^ Reaper version 6.10 Ultraschall version 4.1ActivateTrackPreFXVolumeEnv_TrackObject

Functioncall:
Lua: boolean retval = ultraschall.ActivateTrackPreFXVolumeEnv_TrackObject(MediaTrack track)

Description:

activates a preFX-volume-envelope of a MediaTrack-object

returns false in case of error


Parameters:
MediaTrack track the track, whose prefx-volume-envelope you want to activate

Returnvalues:
boolean retval true, activating was successful; false, activating was unsuccessful



^ Reaper version 6.10 Ultraschall version 4.1ActivateTrackTrimVolumeEnv

Functioncall:
Lua: boolean retval = ultraschall.ActivateTrackTrimVolumeEnv(integer track)

Description:

activates a trim-volume-envelope of a track

returns false in case of error


Parameters:
integer track the track, whose trim-volume-envelope you want to activate; 1, for the first track

Returnvalues:
boolean retval true, activating was successful; false, activating was unsuccessful



^ Reaper version 6.10 Ultraschall version 4.1ActivateTrackTrimVolumeEnv_TrackObject

Functioncall:
Lua: boolean retval = ultraschall.ActivateTrackTrimVolumeEnv_TrackObject(MediaTrack track)

Description:

activates a trim-volume-envelope of a MediaTrack-object

returns false in case of error


Parameters:
MediaTrack track the track, whose trim-volume-envelope you want to activate

Returnvalues:
boolean retval true, activating was successful; false, activating was unsuccessful



^ Reaper version 6.10 Ultraschall version 4.1ActivateTrackVolumeEnv

Functioncall:
Lua: boolean retval = ultraschall.ActivateTrackVolumeEnv(integer track)

Description:

activates a volume-envelope of a track

returns false in case of error


Parameters:
integer track the track, whose volume-envelope you want to activate; 1, for the first track

Returnvalues:
boolean retval true, activating was successful; false, activating was unsuccessful



^ Reaper version 6.10 Ultraschall version 4.1ActivateTrackVolumeEnv_TrackObject

Functioncall:
Lua: boolean retval = ultraschall.ActivateTrackVolumeEnv_TrackObject(MediaTrack track)

Description:

activates a volume-envelope of a MediaTrack-object

returns false in case of error


Parameters:
MediaTrack track the track, whose volume-envelope you want to activate

Returnvalues:
boolean retval true, activating was successful; false, activating was unsuccessful




^ Reaper version 6.05 Ultraschall version 4.1GetAllTakeEnvelopes

Functioncall:
Lua: integer number_of_takeenvelopes, table TakeEnvelopes_Table = ultraschall.GetAllTakeEnvelopes()

Description:

Returns all TakeEnvelopes of all MediaItems from the current project as a handy table

The format of the table is as follows:
    TakeEnvelopes[takeenvelope_idx]["MediaItem"] - the idx of the MediaItem
    TakeEnvelopes[takeenvelope_idx]["MediaItem_Take"] - the idx of the trake of the MediaItem
    TakeEnvelopes[takeenvelope_idx]["MediaItem_Take_Name"] - the name of the MediaItek_Take
    TakeEnvelopes[takeenvelope_idx]["EnvelopeObject"] - the TakeEnvelopeObject in question
    TakeEnvelopes[takeenvelope_idx]["EnvelopeName"] - the name of of TakeEnvelopeObject

Returnvalues:
integer number_of_takeenvelopes the number of TakeEnvelopes found in the current project
table TakeEnvelopes_Table all found TakeEnvelopes as a handy table(see description for details)



^ Reaper version 5.52 Ultraschall version 4.00GetAllTrackEnvelopes

Functioncall:
Lua: array TrackEnvelopeArray, integer number_of_tracks, integer FirstEnvelopeTrackNumber, integer FirstEnvelopeMaster = ultraschall.GetAllTrackEnvelopes()

Description:

returns all TrackEnvelopes of the current project as a table, number of tracks, the first track that has an envelope, if the master track has an envelope(0) or not (-1)

Returnvalues:
array TrackEnvelopeArray a table with all envelopes of the current project the table works as follows: TrackEnvelopeArray[Tracknumber][0] - number of envelopes for track Tracknumber TrackEnvelopeArray[Tracknumber][1][Envelopenumber] - the envelope Envelopenumber of track Tracknumber tracknumber of 0 is for the master track
integer number_of_tracks the number of tracks, covered in the TrackEnvelopeArray
integer FirstEnvelopeTrackNumber the number of the first track to have an envelope; -1 if theres none
integer FirstEnvelopeMaster 0, if the master-track has an envelope, -1 if not.



^ Reaper version 6.10 Ultraschall version 4.1GetTakeEnvelopeUnderMouseCursor

Functioncall:
Lua: TakeEnvelope env, MediaItem_Take take, number projectposition = ultraschall.GetTakeEnvelopeUnderMouseCursor()

Description:

returns the take-envelope underneath the mouse


Returnvalues:
TakeEnvelope env the take-envelope found unterneath the mouse; nil, if none has been found
MediaItem_Take take the take from which the take-envelope is
number projectposition the project-position



^ Reaper version 6.10 Ultraschall version 4.1GetTakeEnvelopeUnderMouseCursor

Functioncall:
Lua: TakeEnvelope env, MediaItem_Take take, number projectposition = ultraschall.GetTakeEnvelopeUnderMouseCursor()

Description:

returns the take-envelope underneath the mouse


Returnvalues:
TakeEnvelope env the take-envelope found unterneath the mouse; nil, if none has been found
MediaItem_Take take the take from which the take-envelope is
number projectposition the project-position



^ Reaper version 6.10 Ultraschall version 4.1IsAnyMuteEnvelopeVisible

Functioncall:
Lua: boolean retval = ultraschall.IsAnyMuteEnvelopeVisible(string name)

Description:

returns, if any mute-envelopes are currently set to visible in the current project

Visible=true does include mute-envelopes, who are scrolled outside of the arrangeview


Parameters:
string name the name of the envelope; case-sensitive, just take the one displayed in the envelope-lane Standard-Envelopes are: "Volume (Pre-FX)", "Pan (Pre-FX)", "Width (Pre-FX)", "Volume", "Pan", "Width", "Trim Volume", "Mute" Plugin's envelopes can also be checked against, like "Freq-Band 1 / ReaEQ"

Returnvalues:
boolean retval true, there are visible mute-envelopes in the project; false, no mute-envelope visible



^ Reaper version 6.10 Ultraschall version 4.1IsEnvelope_Track

Functioncall:
Lua: boolean retval = ultraschall.IsEnvelope_Track(TrackEnvelope env)

Description:

returns, if the envelope is a track envelope(true) or a take-envelope(false)

returns nil in case of an error


Parameters:
TrackEnvelope env the envelope to check

Returnvalues:
boolean retval true, the envelope is a TrackEnvelope; false, the envelope is a TakeEnvelope



^ Reaper version 6.10 Ultraschall version 4.1IsTrackEnvelopeVisible_ArrangeView

Functioncall:
Lua: boolean retval = ultraschall.IsTrackEnvelopeVisible_ArrangeView(TrackEnvelope env)

Description:

returns, if the envelope is currently visible within arrange-view

returns nil in case of an error


Parameters:
TrackEnvelope env the envelope to check for visibility

Returnvalues:
boolean retval true, the envelope is a TrackEnvelope; false, the envelope is a TakeEnvelope




^ Reaper version 6.02 Ultraschall version 4.00GetArmState_Envelope

Functioncall:
Lua: integer retval = ultraschall.GetArmState_Envelope(TrackEnvelope TrackEnvelope, optional string EnvelopeStateChunk)

Description:

Returns the current armed-state of a TrackEnvelope-object.

It is the entry ARM

returns nil in case of error

Parameters:
TrackEnvelope TrackEnvelope the TrackEnvelope, whose armed-state you want to know; nil, to use parameter EnvelopeStateChunk instead
optional string EnvelopeStateChunk if TrackEnvelope is set to nil, you can pass an EnvelopeStateChunk into this parameter, to get that armed state

Returnvalues:
integer retval 0, unarmed; 1, armed



^ Reaper version 6.02 Ultraschall version 4.00GetEnvelopeState_Act

Functioncall:
Lua: integer act, integer automation_settings = ultraschall.GetEnvelopeState_Act(TrackEnvelope TrackEnvelope, optional string EnvelopeStateChunk)

Description:

Returns the current act-state of a TrackEnvelope-object or EnvelopeStateChunk.

It is the state entry ACT

returns nil in case of error

Parameters:
TrackEnvelope TrackEnvelope the TrackEnvelope, whose state you want to know; nil, to use parameter EnvelopeStateChunk instead
optional string EnvelopeStateChunk if TrackEnvelope is set to nil, you can pass an EnvelopeStateChunk into this parameter, to get that armed state

Returnvalues:
integer act 0, bypass on 1, no bypass
integer automation_settings automation item-options for this envelope -1, project default behavior, outside of automation items 0, automation items do not attach underlying envelope 1, automation items attach to the underlying envelope on the right side 2, automation items attach to the underlying envelope on both sides 3, no automation item-options for this envelope 4, bypass underlying envelope outside of automation items



^ Reaper version 6.02 Ultraschall version 4.00GetEnvelopeState_DefShape

Functioncall:
Lua: integer shape, integer pitch_custom_envelope_range_takes, integer pitch_snap_values = ultraschall.GetEnvelopeState_DefShape(TrackEnvelope TrackEnvelope, optional string EnvelopeStateChunk)

Description:

Returns the current default-shape-state of a TrackEnvelope-object or EnvelopeStateChunk.

It is the state entry DEFSHAPE

returns nil in case of error

Parameters:
TrackEnvelope TrackEnvelope the TrackEnvelope, whose state you want to know; nil, to use parameter EnvelopeStateChunk instead
optional string EnvelopeStateChunk if TrackEnvelope is set to nil, you can pass an EnvelopeStateChunk into this parameter, to get that armed state

Returnvalues:
integer shape 0, linear 1, square 2, slow start/end 3, fast start 4, fast end 5, bezier
integer pitch_custom_envelope_range_takes the custom envelope range as set in the Pitch Envelope Settings; only available in take-fx-envelope "Pitch" -1, if unset or for non pitch-envelopes 0, Custom envelope range-checkbox unchecked 1-2147483647, the actual semitones
integer pitch_snap_values the snap values-dropdownlist as set in the Pitch Envelope Settings-dialog; only available in take-fx-envelope "Pitch" -1, unset/Follow global default 0, Off 1, 1 Semitone 2, 50 cent 3, 25 cent 4, 10 cent 5, 5 cent 6, 1 cent



^ Reaper version 6.02 Ultraschall version 4.00GetEnvelopeState_EnvName

Functioncall:
Lua: string envelopename, optional integer fx_env_id, optional string wet_byp, optional number minimum_range, optional number maximum_range, optional number unknown = ultraschall.GetEnvelopeState_EnvName(TrackEnvelope TrackEnvelope, optional string EnvelopeStateChunk)

Description:

Returns the current envelope-name-state of a TrackEnvelope-object or EnvelopeStateChunk.

It is the opening <-tag of the EnvelopeStateChunk

returns nil in case of error

Parameters:
TrackEnvelope TrackEnvelope the TrackEnvelope, whose state you want to know; nil, to use parameter EnvelopeStateChunk instead
optional string EnvelopeStateChunk if TrackEnvelope is set to nil, you can pass an EnvelopeStateChunk into this parameter, to get that armed state

Returnvalues:
string envelopename the name of the envelope, usually: VOLENV2 - for Volume-envelope PANENV2 - for Pan-envelope WIDTHENV2 - for Width-envelope VOLEN - for Pre-FX-Volume-envelope PANENV - for Pre-FX-Pan-envelope WIDTHENV - for Pre-FX-Width-envelope MUTEENV - for Mute-envelope VOLENV3 - for Trim-Volume-envelope PARMENV - an envelope for an FX-plugin
optional integer fx_env_id fx_env is the id of the envelope, as provided by this fx; beginning with 1 for the first
optional string wet_byp wet_byp is either "" if not existing, wet or bypass
optional number minimum_range the minimum value, accepted by this envelope; 6 digits-precision
optional number maximum_range the maximum-value, accepted by this envelope; 6 digits-precision
optional number unknown unknown



^ Reaper version 6.02 Ultraschall version 4.00GetEnvelopeState_LaneHeight

Functioncall:
Lua: integer height, integer compacted = ultraschall.GetEnvelopeState_LaneHeight(TrackEnvelope TrackEnvelope, optional string EnvelopeStateChunk)

Description:

Returns the current laneheight-state of a TrackEnvelope-object or EnvelopeStateChunk.

It is the state entry LANEHEIGHT

returns nil in case of error

Parameters:
TrackEnvelope TrackEnvelope the TrackEnvelope, whose state you want to know; nil, to use parameter EnvelopeStateChunk instead
optional string EnvelopeStateChunk if TrackEnvelope is set to nil, you can pass an EnvelopeStateChunk into this parameter, to get that armed state

Returnvalues:
integer height the height of this envelope in pixels; 24 - 263 pixels
integer compacted 1, envelope-lane is compacted("normal" height is not shown but still stored in height); 0, envelope-lane is "normal" height



^ Reaper version 6.02 Ultraschall version 4.00GetEnvelopeState_NumbersOnly

Functioncall:
Lua: table values = ultraschall.GetEnvelopeState_NumbersOnly(string state, optional string EnvelopeStateChunk, optional string functionname, optional boolean numbertoggle)

Description:

returns a state from an EnvelopeStateChunk.

It only supports single-entry-states with numbers/integers, separated by spaces!
All other values will be set to nil and strings with spaces will produce weird results!

returns nil in case of an error

Parameters:
string state the state, whose attributes you want to retrieve
string TrackStateChunk a statechunk of an envelope
optional string functionname if this function is used within specific gettrackstate-functions, pass here the "host"-functionname, so error-messages will reflect that
optional boolean numbertoggle true or nil; converts all values to numbers; false, keep them as string versions

Returnvalues:
table values all values found as numerical indexed array



^ Reaper version 6.02 Ultraschall version 4.00GetEnvelopeState_PT

Functioncall:
Lua: number position, integer volume, integer point_shape_1, integer point_shape_2, integer selected, number bezier_tens1, number bezier_tens2 = ultraschall.GetEnvelopeState_PT(TrackEnvelope TrackEnvelope, optional string EnvelopeStateChunk)

Description:

Returns the current state of a certain envelope-point within a TrackEnvelope-object or EnvelopeStateChunk.

It is the state entry PT

returns nil in case of error

Parameters:
integer index the index-number of the envelope-point, whose states you want to have
TrackEnvelope TrackEnvelope the TrackEnvelope, whose state you want to know; nil, to use parameter EnvelopeStateChunk instead
optional string EnvelopeStateChunk if TrackEnvelope is set to nil, you can pass an EnvelopeStateChunk into this parameter, to get that armed state

Returnvalues:
number position position of the point in seconds
integer volume volume as fader-value
integer point_shape may disappear with certain shapes, when point is unselected the values for point_shape_1 and point_shape_2 are: 0 0, linear 1 0, square 2 0, slow start/end 3 0, fast start 4 0, fast end 5 1, bezier
integer selected 1, selected; disappearing, unselected
number unknown disappears, if no bezier is set
number bezier_tens2 disappears, if no bezier is set; -1 to 1 0, for no bezier tension -0.5, for fast-start-beziertension 0.5, for fast-end-beziertension 1, for square-tension



^ Reaper version 6.02 Ultraschall version 4.00GetEnvelopeState_PooledEnvInstance

Functioncall:
Lua: integer id, number position, number length, number start_offset, number playrate, integer selected, number baseline, integer loopsource, integer i, number j, integer pool_id, integer mute = ultraschall.GetEnvelopeState_PooledEnvInstance(integer index, TrackEnvelope TrackEnvelope, optional string EnvelopeStateChunk)

Description:

Returns the current state of a certain automation-item within a TrackEnvelope-object or EnvelopeStateChunk.

It is the state entry POOLEDENVINST

returns nil in case of error

Parameters:
integer index the index-number of the automation-item, whose states you want to have
TrackEnvelope TrackEnvelope the TrackEnvelope, whose state you want to know; nil, to use parameter EnvelopeStateChunk instead
optional string EnvelopeStateChunk if TrackEnvelope is set to nil, you can pass an EnvelopeStateChunk into this parameter, to get that armed state

Returnvalues:
integer id counter of automation-items; 1-based
number position position in seconds
number length length in seconds
number start_offset offset in seconds
number playrate playrate; minimum value is 0.001; default is 1.000
integer selected 1, automation item is selected; 0, automation item isn't selected
number baseline 0(-100) to 1(+100); default 0.5(0)
number amplitude -2(-200) to 2(+200); default 1 (100)
integer loopsource Loop Source; 0 and 1 are allowed settings; 1 is default
integer i unknown; 0 is default
number j unknown; 0 is default
integer pool_id counts the automation-item-instances in this project, including deleted ones; 1-based
integer mute 1, mute automation-item; 0, unmute automation-item



^ Reaper version 6.02 Ultraschall version 4.00GetEnvelopeState_Vis

Functioncall:
Lua: integer visible, integer lane, integer unknown = ultraschall.GetEnvelopeState_Vis(TrackEnvelope TrackEnvelope, optional string EnvelopeStateChunk)

Description:

Returns the current visibility-state of a TrackEnvelope-object or EnvelopeStateChunk.

It is the state entry VIS

returns nil in case of error

Parameters:
TrackEnvelope TrackEnvelope the TrackEnvelope, whose state you want to know; nil, to use parameter EnvelopeStateChunk instead
optional string EnvelopeStateChunk if TrackEnvelope is set to nil, you can pass an EnvelopeStateChunk into this parameter, to get that armed state

Returnvalues:
integer visible 1, envelope is visible 0, envelope is not visible
integer lane 1, envelope is in it's own lane 0, envelope is in media-lane
integer unknown unknown; default=1



^ Reaper version 6.02 Ultraschall version 4.00GetEnvelopeState_Voltype

Functioncall:
Lua: integer voltype = ultraschall.GetEnvelopeState_Voltype(TrackEnvelope TrackEnvelope, optional string EnvelopeStateChunk)

Description:

Returns the current voltype-state of a TrackEnvelope-object or EnvelopeStateChunk.

It is the state entry VOLTYPE

returns nil in case of error

Parameters:
TrackEnvelope TrackEnvelope the TrackEnvelope, whose state you want to know; nil, to use parameter EnvelopeStateChunk instead
optional string EnvelopeStateChunk if TrackEnvelope is set to nil, you can pass an EnvelopeStateChunk into this parameter, to get that armed state

Returnvalues:
integer voltype 1, default volume-type is fader-scaling; if VOLTYPE-entry is not existing, default volume-type is amplitude-scaling




^ Reaper version 5.52 Ultraschall version 4.00GetAllTrackEnvelopes

Functioncall:
Lua: array TrackEnvelopeArray, integer number_of_tracks, integer FirstEnvelopeTrackNumber, integer FirstEnvelopeMaster = ultraschall.GetAllTrackEnvelopes()

Description:

returns all TrackEnvelopes of the current project as a table, number of tracks, the first track that has an envelope, if the master track has an envelope(0) or not (-1)

Returnvalues:
array TrackEnvelopeArray a table with all envelopes of the current project the table works as follows: TrackEnvelopeArray[Tracknumber][0] - number of envelopes for track Tracknumber TrackEnvelopeArray[Tracknumber][1][Envelopenumber] - the envelope Envelopenumber of track Tracknumber tracknumber of 0 is for the master track
integer number_of_tracks the number of tracks, covered in the TrackEnvelopeArray
integer FirstEnvelopeTrackNumber the number of the first track to have an envelope; -1 if theres none
integer FirstEnvelopeMaster 0, if the master-track has an envelope, -1 if not.



^ Reaper version 5.40 Ultraschall version 4.00GetClosestEnvelopePointIDX_ByTime

Functioncall:
Lua: integer idxpre, array EnvelopePointObjectPre, integer idxpost, array EnvelopePointObjectPost = ultraschall.GetClosestEnvelopePointIDX_ByTime(integer Tracknumber, string EnvelopeName, number CheckTime)

Description:

Returns the idxs and EnvelopePointObject of the envelope-points closest to timeposition CheckTime
returns -1 in case of error

Parameters:
integer Tracknumber the number of the track, beginning with 1. Use 0 for Master Track.
string EnvelopeName the name of the envelope-lane
number CheckTime the time in seconds to check for the closest envelope-points

Returnvalues:
integer idxpre the idx of the closest envelopepoint at or before CheckTime
array EnvelopePointObjectPre an EnvelopePointObject of idxpre
integer idxpost the idx of the closest envelopepoint after CheckTime
array EnvelopePointObjectPost an EnvelopePointObject of idxpost



^ Reaper version 5.40 Ultraschall version 4.00GetEnvelopePoint

Functioncall:
Lua: number time, number value, integer shape, number tension, boolean selected, number dBVal, array EnvelopePointObject = ultraschall.GetEnvelopePoint(integer Tracknumber, string EnvelopeName, integer idx)

Description:

Returns the values for the idxth envelope point in Tracknumber->EnvelopeName.

returns -1 in case of error

Parameters:
integer Tracknumber the number of the track, beginning with 1. Use 0 for Master Track.
string EnvelopeName the name of the envelope-lane
integer idx the number of the envelope-point, beginning with 0

Returnvalues:
number time the time of the envelope point
number value the raw-value of the envelope point
integer shape the shape of this envelope 0 - Linear 1 - Square 2 - Slow start/end 3 - Fast start 4 - Fast end 5 - Bezier
number tension the intensity of the tension of the shape
boolean selected true, if this point is selected; false if not
number dBVal the envelopevalue converted to dB
array EnvelopePointObject an array with all elements of an envelopepoint [1] - TrackEnvelope-object [2] - Envelope-idx, beginning with 0 for the first one [3] - time [4] - value [5] - shape [6] - tension [7] - selected [8] - dBValue converted from value



^ Reaper version 5.40 Ultraschall version 4.00GetEnvelopePointIDX_Between

Functioncall:
Lua: string EnvelopeString, array EnvelopePointArray = ultraschall.GetEnvelopePointIDX_Between(integer Tracknumber, string EnvelopeName, number startposition, number endposition)

Description:

Returns a string and an EnvelopePointArray with all idx/EnvelopePointObjects of all envelopepoints between startposition and endposition in the EnvelopeName-lane.
returns -1 in case of error

Parameters:
integer Tracknumber the number of the track. 1 for track 1, 2 for track 2, etc. 0 for Master-track.
string EnvelopeName the name of the envelope-lane, where you want to have the envelope-points of.
number startposition the startposition of the selection in seconds. Must be bigger than or equal 0.
number endposition the endposition of the selection in seconds. Must be bigger than startposition.

Returnvalues:
string EnvelopeString a string with all envelope-point-idx in the selection, separated by commas.
array EnvelopePointArray an array with all EnvelopePointObjects of all envelope-points in selection.



^ Reaper version 5.975 Ultraschall version 4.00GetLastEnvelopePoint_TrackEnvelope

Functioncall:
Lua: boolean retval, optional integer envpointidx, optional number time, optional number value, optional integer shape, optional number tension, optional boolean selected = ultraschall.GetLastEnvelopePoint_TrackEnvelope(TrackEnvelope Envelope)

Description:

Gets the values of the last envelope-point in TrackEnvelope/MediaItemEnvelope.

Note: there's a "hidden" last envelopepoint in every Envelope, which will be ignored by this function. It will return the last visible envelope-point instead!

Returns false in case of an error


Parameters:
TrackEnvelope Envelope the Trackenvelope/MediaItemenvelope, whose last point you want

Returnvalues:
boolean retval true, getting the envelopepoint was successful; false, in case of an error
optional integer envpointidx the idx of the found envelope-point; with 0 for the first one on the Envelope
optional number time the time of the envelope-point in seconds
optional number value the value of the envelope-point
optional integer shape the shape of the envelope-point 0 - Linear 1 - Square 2 - Slow start/end 3 - Fast start 4 - Fast end 5 - Bezier
optional number tension the intensity of the tension of the shape
optional boolean selected true, envelope-point is selected; false, it is not selected




^ Reaper version 5.981 Ultraschall version 4.1ActivateEnvelope

Functioncall:
Lua: boolean retval = ultraschall.ActivateEnvelope(TrackEnvelope env, optional boolean visible, optional boolean bypass)

Description:

Activates an envelope, so it can be displayed in the arrange-view.

Will add an envelope-point at position 0 in the envelope, if no point is in the envelope yet

returns false in case of an error


Parameters:
TrackEnvelope Envelope the envelope, which you want to activate
optional boolean visible true or nil, show envelope; false, don't show envelope
optional boolean bypass true or nil, don't bypass envelope; false, bypass envelope

Returnvalues:
boolean retval true, activating was successful; false, activating was unsuccessful



^ Reaper version 5.40 Ultraschall version 4.00CheckEnvelopePointObject

Functioncall:
Lua: boolean retval = ultraschall.CheckEnvelopePointObject(array EnvelopePointObject)

Description:

Checks, if EnvelopePointObject is valid or not.

returns false in case of an error

Parameters:
array EnvelopePointObject an array with all information of an envelope point

Returnvalues:
boolean retval true, if it's a valid EnvelopePointObject; false if not



^ Reaper version 5.40 Ultraschall version 4.00CountEnvelopePoints

Functioncall:
Lua: integer envpoint_count = ultraschall.CountEnvelopePoints(integer Tracknumber, string EnvelopeName)

Description:

Counts and returns the number of envelope-points in track Tracknumber, envelopelane EnvelopeName.

returns -1 in case of error

Parameters:
integer Tracknumber the number of the track, beginning with 1. Use 0 for Master Track.
string EnvelopeName the name of the envelope-lane

Returnvalues:
integer envpoint_count the number of envelope-points in requested track+envelope-lane



^ Reaper version 5.40 Ultraschall version 4.00CreateEnvelopePointObject

Functioncall:
Lua: boolean retval, array EnvelopePointObject = ultraschall.CreateEnvelopePointObject(TrackEnvelope TrackEnvelope, integer idx, number time, number value, integer shape, number tension, boolean selected)

Description:

Creates a new EnvelopePointObject, that can be used by other ultraschall-api-envelope-functions

returns false in case of error

Parameters:
TrackEnvelope env the track-envelope, in which this EnvelopePointObject shall be
integer idx the number of the envelope-point, beginning with 0
number time the time of the envelope point in seconds
number value the raw-value of the envelope point
integer shape the shape of this envelope 0 - Linear 1 - Square 2 - Slow start/end 3 - Fast start 4 - Fast end 5 - Bezier
number tension the intensity of the tension of the shape
boolean selected true, if this point is selected; false if not

Returnvalues:
boolean retval false in case of error, true in case of success.
array EnvelopePointObject an array with all elements of the envelopepoint [1] - TrackEnvelope-object [2] - Envelope-idx, beginning with 0 for the first one [3] - time [4] - value [5] - shape [6] - tension [7] - selected [8] - dBValue converted from value



^ Reaper version 6.10 SWS version 2.10.0.1 Ultraschall version 4.2GetTrackEnvelope_ClickState

Functioncall:
Lua: boolean clickstate, number position, MediaTrack track, TrackEnvelope envelope, integer EnvelopePointIDX = ultraschall.GetTrackEnvelope_ClickState(integer mouse_button)

Description:

Returns the currently clicked Envelopepoint and TrackEnvelope, as well as the current timeposition.

Works only, if the mouse is above the EnvelopePoint while having it clicked!

Returns false, if no envelope is clicked at


Parameters:
integer mouse_button the mousebutton, that shall be clicked at the envelope; you can combine them as flags -1, get all states &1, only left mouse button &2, only right mouse button &4, Ctrl/Cmd-key &8, Shift-key &16, Alt key &32, Windows key &64, Middle mouse button

Returnvalues:
boolean clickstate true, an envelopepoint has been clicked; false, no envelopepoint has been clicked
number position the position, at which the mouse has clicked
MediaTrack track the track, from which the envelope and it's corresponding point is taken from
TrackEnvelope envelope the TrackEnvelope, in which the clicked envelope-point lies
integer EnvelopePointIDX the id of the clicked EnvelopePoint



^ Reaper version 6.10 SWS version 2.10.0.1 Ultraschall version 4.2GetTrackEnvelope_ClickState

Functioncall:
Lua: boolean clickstate, number position, MediaTrack track, TrackEnvelope envelope, integer EnvelopePointIDX = ultraschall.GetTrackEnvelope_ClickState(integer mouse_button)

Description:

Returns the currently clicked Envelopepoint and TrackEnvelope, as well as the current timeposition.

Works only, if the mouse is above the EnvelopePoint while having it clicked!

Returns false, if no envelope is clicked at


Parameters:
integer mouse_button the mousebutton, that shall be clicked at the envelope; you can combine them as flags -1, get all states &1, only left mouse button &2, only right mouse button &4, Ctrl/Cmd-key &8, Shift-key &16, Alt key &32, Windows key &64, Middle mouse button

Returnvalues:
boolean clickstate true, an envelopepoint has been clicked; false, no envelopepoint has been clicked
number position the position, at which the mouse has clicked
MediaTrack track the track, from which the envelope and it's corresponding point is taken from
TrackEnvelope envelope the TrackEnvelope, in which the clicked envelope-point lies
integer EnvelopePointIDX the id of the clicked EnvelopePoint



^ Reaper version 5.40 Ultraschall version 4.00IsValidEnvStateChunk

Functioncall:
Lua: boolean valid = ultraschall.IsValidEnvStateChunk(string EnvelopeStateChunk)

Description:

returns, if a EnvelopeStateChunk is a valid statechunk

returns false, in case of an error

Parameters:
string EnvelopeStateChunk a string to check, if it's a valid EnvelopeStateChunk

Returnvalues:
boolean valid true, if the string is a valid statechunk; false, if not a valid statechunk



^ Reaper version 5.941 Ultraschall version 4.00IsValidEnvelopePointArray

Functioncall:
Lua: boolean retval = ultraschall.IsValidEnvelopePointArray(EnvelopePointArray EnvelopePointArray)

Description:

Checks, if an EnvelopePointArray is a valid one.

Returns false in case of an error

Parameters:
EnvelopePointArray EnvelopePointArray the EnvelopePointArray to check for it's validity

Returnvalues:
boolean retval true, EnvelopePointArray is a valid one; false, EnvelopePointArray isn't valid



^ Reaper version 5.40 Ultraschall version 4.00IsValidEnvelopePointObject

Functioncall:
Lua: boolean retval = ultraschall.IsValidEnvelopePointObject(array EnvelopePointObject)

Description:

Checks, if EnvelopePointObject is valid or not.

returns false in case of an error

Parameters:
array EnvelopePointObject an array with all information of an envelope point

Returnvalues:
boolean retval true, if it's a valid EnvelopePointObject; false if not




^ Reaper version 5.95 Ultraschall version 4.00SetArmState_Envelope

Functioncall:
Lua: boolean retval, optional string EnvelopeStateChunk = ultraschall.SetArmState_Envelope(TrackEnvelope TrackEnvelope, integer state, optional string EnvelopeStateChunk)

Description:

Sets the new armed-state of a TrackEnvelope-object.

returns false in case of error

Parameters:
TrackEnvelope TrackEnvelope the TrackEnvelope, whose armed-state you want to change
integer state 0, unarmed; 1, armed
optional string EnvelopeStateChunk if parameter TrackEnvelope is set to nil, you can pass an EnvelopeStateChunk into this parameters and change its arm-state

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful
optional string EnvelopeStateChunk the altered EnvelopeStateChunk, when parameter TrackEnvelope is set to nil



^ Reaper version 6.10 Ultraschall version 4.1SetEnvelopeState_Act

Functioncall:
Lua: boolean retval = ultraschall.SetEnvelopeState_Act(TrackEnvelope env, integer act, integer automation_settings, optional string EnvelopeStateChunk)

Description:

sets the current bypass and automation-items-settings-state of a TrackEnvelope-object or EnvelopeStateChunk.

It is the state entry ACT

returns false in case of error


Parameters:
TrackEnvelope env the envelope, in whose envelope you want set the bypass and automation-item-states; nil, to use parameter EnvelopeStateChunk instead
integer act bypass-setting; 0, bypass on 1, no bypass
integer automation_settings automation item-options for this envelope -1, project default behavior, outside of automation items 0, automation items do not attach underlying envelope 1, automation items attach to the underlying envelope on the right side 2, automation items attach to the underlying envelope on both sides 3, no automation item-options for this envelope 4, bypass underlying envelope outside of automation items
optional string EnvelopeStateChunk an EnvelopeStateChunk, in which you want to set these settings

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful
string EnvelopeStateChunk the altered EnvelopeStateChunk



^ Reaper version 6.10 Ultraschall version 4.1SetEnvelopeState_DefShape

Functioncall:
Lua: boolean retval, string EnvelopeStateChunk = ultraschall.SetEnvelopeState_DefShape(TrackEnvelope env, integer shape, integer pitch_custom_envelope_range, integer pitch_snap_values, optional string EnvelopeStateChunk)

Description:

sets the current default-shape-states and pitch-snap-settings of a TrackEnvelope-object or EnvelopeStateChunk.

It is the state entry DEFSHAPE

returns false in case of error


Parameters:
TrackEnvelope env the envelope, in whose envelope you want set the default shape and pitch-snap states; nil, to use parameter EnvelopeStateChunk instead
integer shape the default shape of envelope-points 0, linear 1, square 2, slow start/end 3, fast start 4, fast end 5, bezier
integer pitch_custom_envelope_range_takes the custom envelope range as set in the Pitch Envelope Settings; only available in take-fx-envelope "Pitch" -1, if unset or for non pitch-envelopes 0, Custom envelope range-checkbox unchecked 1-2147483647, the actual semitones
integer pitch_snap_values the snap values-dropdownlist as set in the Pitch Envelope Settings-dialog; only available in take-fx-envelope "Pitch" -1, unset/Follow global default 0, Off 1, 1 Semitone 2, 50 cent 3, 25 cent 4, 10 cent 5, 5 cent 6, 1 cent
optional string EnvelopeStateChunk an EnvelopeStateChunk, in which you want to set these settings

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful
string EnvelopeStateChunk the altered EnvelopeStateChunk



^ Reaper version 6.10 Ultraschall version 4.1SetEnvelopeState_LaneHeight

Functioncall:
Lua: boolean retval, string EnvelopeStateChunk = ultraschall.SetEnvelopeState_LaneHeight(TrackEnvelope env, integer height, integer compacted, optional string EnvelopeStateChunk)

Description:

sets the current height-states and compacted-settings of a TrackEnvelope-object or EnvelopeStateChunk.

It is the state entry LANEHEIGHT

returns false in case of error


Parameters:
TrackEnvelope env the envelope, whose envelope you want set the height and compacted-states; nil, to us parameter EnvelopeStateChunk instead
integer height the height of the laneheight; the height of this envelope in pixels; 24 - 263 pixels
integer compacted 1, envelope-lane is compacted("normal" height is not shown but still stored in height); 0, envelope-lane is "normal" height
optional string EnvelopeStateChunk an EnvelopeStateChunk, in which you want to set these settings

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful
string EnvelopeStateChunk the altered EnvelopeStateChunk



^ Reaper version 6.10 Ultraschall version 4.1SetEnvelopeState_Vis

Functioncall:
Lua: boolean retval, string EnvelopeStateChunk = ultraschall.SetEnvelopeState_Vis(TrackEnvelope env, integer visibility, integer lane, integer unknown, optional string EnvelopeStateChunk)

Description:

sets the current visibility-state of a TrackEnvelope-object or EnvelopeStateChunk.

It is the state entry VIS

returns false in case of error


Parameters:
TrackEnvelope env the envelope, in whose envelope you want set the visibility states; nil, to us parameter EnvelopeStateChunk instead
integer visibility the visibility of the envelope; 0, invisible; 1, visible
integer lane the position of the envelope in the lane; 0, envelope is in media-lane; 1, envelope is in it's own lane
integer unknown unknown; default=1
optional string EnvelopeStateChunk an EnvelopeStateChunk, in which you want to set these settings

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful
string EnvelopeStateChunk the altered EnvelopeStateChunk




^ Reaper version 5.40 Ultraschall version 4.00AddEnvelopePoints_EnvelopePointArray

Functioncall:
Lua: boolean retval = ultraschall.AddEnvelopePoints_EnvelopePointArray(array EnvelopePointArray, boolean sort_in)

Description:

Adds the envelope-points, as defined in the EnvelopePointObjects, in the EnvelopePointArray.
returns true in case of success, false in case of failure.

Parameters:
array EnvelopePointArray an array with all EnvelopePointObjects you want to insert
boolean sort_in set true, if setting multiple points at once and call Envelope_SortPoints when done.

Returnvalues:
boolean retval true, if it's a valid EnvelopePointObject; false if not



^ Reaper version 5.40 Ultraschall version 4.00AddEnvelopePoints_EnvelopePointObject

Functioncall:
Lua: boolean retval = ultraschall.AddEnvelopePoints_EnvelopePointObject(array EnvelopePointObject, boolean sort_in)

Description:

Adds an envelope-point, as defined in EnvelopePointObject.
returns true in case of success, false in case of failure.

Parameters:
array EnvelopePointObject an array with all information of an envelope point
boolean sort_in set true, if setting multiple points at once and call Envelope_SortPoints when done.

Returnvalues:
boolean retval true, if it's a valid EnvelopePointObject; false if not



^ Reaper version 5.40 SWS version 2.8.8 Ultraschall version 4.00DeleteEnvelopePoints_EnvelopePointArray

Functioncall:
Lua: boolean retval = ultraschall.DeleteEnvelopePoints_EnvelopePointArray(array EnvelopePointArray)

Description:

Deletes the envelope-points, as defined in the EnvelopePointObjects, in the EnvelopePointArray.
returns true in case of success, false in case of failure.

Parameters:
array EnvelopePointArray an array with all EnvelopePointObjects you want to insert

Returnvalues:
boolean retval true, if it's a valid EnvelopePointObject; false if not



^ Reaper version 5.40 SWS version 2.8.8 Ultraschall version 4.00DeleteEnvelopePoints_EnvelopePointObject

Functioncall:
Lua: boolean retval = ultraschall.DeleteEnvelopePoints_EnvelopePointObject(array EnvelopePointObject)

Description:

Deletes an envelope-point, as defined in EnvelopePointObject.

returns true in case of success, false in case of failure.

Parameters:
array EnvelopePointObject an array with all information of an envelope point

Returnvalues:
boolean retval true, if it's a valid EnvelopePointObject; false if not



^ Reaper version 5.40 Ultraschall version 4.00MoveTrackEnvelopePointsBy

Functioncall:
Lua: integer retval = ultraschall.MoveTrackEnvelopePointsBy(number startposition, number endposition, number moveby, MediaTrack MediaTrack, boolean cut_at_border)

Description:

Moves the envelopepoints between startposition and endposition by moveby in MediaTrack.
It moves all trackenvelope-points for all track-envelopes available.

Does NOT move item-envelopepoints!

Returns -1 in case of failure.

Parameters:
number startposition the startposition in seconds
number endposition the endposition in seconds
number moveby in seconds, negative values: move toward beginning of project, positive values: move toward the end of project
MediaTrack MediaTrack the MediaTrack object of the track, where the EnvelopsPoints shall be moved
boolean cut_at_border true, cut envelope-points, that would move outside section between startposition and endposition

Returnvalues:
integer retval -1 in case of failure



^ Reaper version 5.52 Ultraschall version 4.00SetEnvelopeHeight

Functioncall:
Lua: boolean retval, string TrackEnvelopeStateChunk = ultraschall.SetEnvelopeHeight(integer Height, boolean Compacted, TrackEnvelope TrackEnvelope, string TrackEnvelopeStateChunk)

Description:

Changes the Envelope-lane-height and compactible state of TrackEnvelope or TrackEnvelopeStateChunk.

returns false in case of an error

Parameters:
integer Height the height of the envelopelane in pixels when not compacted. Reaper accepts 24-443 currently. Nil keeps old value.
boolean Compacted shall the envelopelane be compacted(true) or not(false). Nil keeps old value.
TrackEnvelope TrackEnvelope the TrackEnvelope to alter, or nil to use the TrackEnvelopeStateChunk instead
optional string TrackEnvelopeStateChunk the TrackEnvelopeStateChunk you want to alter. Will be used only, if TrackEnvelope is set to nil

Returnvalues:
boolean retval true in case of success; false in case of error
string TrackEnvelopeStateChunk the altered TrackEnvelopeStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetEnvelopePoints_EnvelopePointArray

Functioncall:
Lua: boolean retval = ultraschall.SetEnvelopePoints_EnvelopePointArray(array EnvelopePointArray, boolean sort_in)

Description:

Sets envelope-points, as defined in the EnvelopePointObjects, in the EnvelopePointArray.

returns true in case of success, false in case of failure.

Parameters:
array EnvelopePointArray an array with all EnvelopePointObjects you want to insert
boolean sort_in set true, if setting multiple points at once and call Envelope_SortPoints when done.

Returnvalues:
boolean retval true, if it's a valid EnvelopePointObject; false if not



^ Reaper version 5.40 Ultraschall version 4.00SetEnvelopePoints_EnvelopePointObject

Functioncall:
Lua: boolean retval = ultraschall.SetEnvelopePoints_EnvelopePointObject(array EnvelopePointObject, boolean sort_in)

Description:

Sets an envelope-point, as defined in EnvelopePointObject.

returns true in case of success, false in case of failure.

Parameters:
array EnvelopePointObject an array with all information of an envelope point
boolean sort_in set true, if setting multiple points at once and call Envelope_SortPoints when done.

Returnvalues:
boolean retval true, if it's a valid EnvelopePointObject; false if not




^ Reaper version 5.982 Ultraschall version 4.00EventManager_AddEvent

Functioncall:
Lua: string event_identifier = ultraschall.EventManager_AddEvent(string EventName, integer CheckAllXSeconds, integer CheckForXSeconds, boolean StartActionsOnceDuringTrue, boolean EventPaused, function CheckFunction, table Actions)

Description:

Adds a new event to the Ultraschall Event Manager-checking-queue.

returns nil in case of an error


Parameters:
string EventName a name for the event, which you can choose freely; duplicated eventnames are allowed
integer CheckAllXSeconds only check all x seconds; 0, for constant checking this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases! This is due general limitations with backgroundscripts.
integer CheckForXSeconds only check for x seconds; 0, check until the event is removed this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases! This is due general limitations with backgroundscripts.
boolean StartActionsOnceDuringTrue if the event occurred: true, run the actions only once; false, run until the CheckFunction returns false again
boolean EventPaused false, register the event and check for it immediately; true, register the event but don't check for it yet
function CheckFunction the function, which shall check if the event occurred this function must return true if the event occurred and false, if not No global variables allowed! Instead, the eventmanager will pass to it as first parameter a table which can be used for storing information
table Actions a table which holds all actions and their accompanying sections, who shall be run when the event occurred each entry of the table must be of the format "actioncommandid,section", e.g.: Actions[1]="1007,0" Actions[2]="1012,0" You can have as many actions as you like, but be aware, that running too many actions may delay further eventchecking!

Returnvalues:
string event_identifier the unique identifier for this registered event, which can be used later for setting, deleting, etc



^ Reaper version 5.982 Ultraschall version 4.00EventManager_AddStartupEvent

Functioncall:
Lua: string event_identifier = ultraschall.EventManager_AddStartupEvent(string EventName, integer CheckAllXSeconds, integer CheckForXSeconds, boolean StartActionsOnceDuringTrue, boolean EventPaused, function CheckFunction, table Actions)

Description:

Adds a new event, that shall be automatically registered at startup of the Ultraschall Event Manager.

That means, if you start the EventManager, it will be added automatically to the EventManager-checking-queue, without the need of registering it by hand.

returns nil in case of an error


Parameters:
string EventName a name for the event, which you can choose freely; duplicated eventnames are allowed
integer CheckAllXSeconds only check all x seconds; 0, for constant checking this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases! This is due general limitations with backgroundscripts.
integer CheckForXSeconds only check for x seconds; 0, check until the event is removed this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases! This is due general limitations with backgroundscripts.
boolean StartActionsOnceDuringTrue if the event occurred: true, run the actions only once; false, run until the CheckFunction returns false again
boolean EventPaused false, register the event and check for it immediately; true, register the event but don't check for it yet
function CheckFunction the function, which shall check if the event occurred this function must return true if the event occurred and false, if not No global variables allowed! Instead, the eventmanager will pass to the function as first parameter a table which can be used for storing information
table Actions a table which holds all actions and their accompanying sections, who shall be run when the event occurred each entry of the table must be of the format "actioncommandid,section", e.g.: Actions[1]="1007,0" Actions[2]="1012,0" You can have as many actions as you like, but be aware, that running too many actions may delay further eventchecking!

Returnvalues:
string event_identifier the unique identifier for this registered event, which can be used later for setting, deleting, etc



^ Reaper version 5.982 Ultraschall version 4.00EventManager_CountRegisteredEvents

Functioncall:
Lua: integer count_of_registered_events = ultraschall.EventManager_CountRegisteredEvents()

Description:

Returns the number of currently registered events in the EventManager-checking-queue


Returnvalues:
integer count_of_registered_events the number of currently registered events



^ Reaper version 5.982 Ultraschall version 4.00EventManager_CountStartupEvents

Functioncall:
Lua: integer count_startup_events = ultraschall.EventManager_CountStartupEvents()

Description:

Counts the currently available startup-events


Returnvalues:
integer count_startup_events the number of currently available start-up-events for the EventManager



^ Reaper version 5.982 Ultraschall version 4.00EventManager_DebugMode

Functioncall:
Lua: ultraschall.EventManager_DebugMode(boolean toggle)

Description:

Starts Debugmode of the EventManager, which returns additional internal states.

Allows you to get the contents of the UserSpace of a certain checkfunction of a registered event, see EventManagerDebugModeUserSpace.

Note: Debugmode is not for productive usecases, as it costs resources. Please turn it off again, after you've finished debugging.


Parameters:
boolean toggle true, turn debugmode on; false, turn debugmode off



^ Reaper version 5.982 Ultraschall version 4.00EventManager_DebugMode_UserSpace

Functioncall:
Lua: integer userspace_count, table userspace = ultraschall.EventManager_DebugMode_UserSpace(integer index)

Description:

Returns the current contents of the UserSpace, as stored by the checkfunction of a registered event in the EventManager.

The table is of the format:

    userspace[index]["index"]    - the name of the index
    userspace[index]["datatype"] - the datatype of the value in this userspace-index
    userspace[index]["value"]    - the value in this userspace-index

Note: Debugmode is not for productive usecases, as it costs resources. Please turn it off again, after you've finished debugging. See EventManager_DebugMode for more details on stopping DebugMode.

returns nil in case of an error


Parameters:
integer index the index of the event, whose UserSpace you want to retrieve

Returnvalues:
integer userspace_count the number of values within the userspace
table userspace the contents of the userspace as a handy table



^ Reaper version 5.982 Ultraschall version 4.00EventManager_EnumerateEvents

Functioncall:
Lua: string EventIdentifier, string EventName, string CallerScriptIdentifier, integer CheckAllXSeconds, integer CheckForXSeconds, boolean StartActionsOnceDuringTrue, boolean EventPaused, function CheckFunction, integer NumberOfActions, table Actions = ultraschall.EventManager_EnumerateEvents(integer id)

Description:

Gets the attributes of an already added event in the Ultraschall Event Manager-checking-queue.

returns nil in case of an error


Parameters:
integer id the id of the currently registered event, of which you want to have the attributes; starting with 1 for the first

Returnvalues:
string EventIdentifier the EventIdentifier of the registered event
string EventName the name of the event
string CallerScriptIdentifier the ScriptIdentifier of the script, who registered the event
integer CheckAllXSeconds only check all x seconds; 0, for constant checking this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases! This is due general limitations with backgroundscripts.
integer CheckForXSeconds only check for x seconds; 0, check until the event is removed this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases! This is due general limitations with backgroundscripts.
boolean StartActionsOnceDuringTrue if the event occurred: true, run the actions only once false, run until the CheckFunction returns false again
boolean EventPaused true, eventcheck is currently paused; false, eventcheck is currently running
function CheckFunction the function, which shall check if the event occurred
integer NumberOfActions the number of actions currently registered with this event
table Actions a table which holds all actions and their accompanying sections, who are run when the event occurred each entry of the table is of the format "actioncommandid,section", e.g.: Actions[1]="1007,0" Actions[2]="1012,0"



^ Reaper version 5.982 Ultraschall version 4.00EventManager_EnumerateEvents2

Functioncall:
Lua: string EventIdentifier, string EventName, string CallerScriptIdentifier, integer CheckAllXSeconds, integer CheckForXSeconds, boolean StartActionsOnceDuringTrue, boolean EventPaused, function CheckFunction, integer NumberOfActions, table Actions = ultraschall.EventManager_EnumerateEvents2(string EventIdentifier)

Description:

Gets the attributes of an already added event in the Ultraschall Event Manager-checking-queue.

returns nil in case of an error


Parameters:
string Eventidentifier the EventIdentifier of the currently registered event, of which you want to have the attributes

Returnvalues:
string EventIdentifier the EventIdentifier of the registered event
string EventName the name of the event
string CallerScriptIdentifier the ScriptIdentifier of the script, who registered the event
integer CheckAllXSeconds only check all x seconds; 0, for constant checking this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases! This is due general limitations with backgroundscripts.
integer CheckForXSeconds only check for x seconds; 0, check until the event is removed this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases! This is due general limitations with backgroundscripts.
boolean StartActionsOnceDuringTrue if the event occurred: true, run the actions only once false, run until the CheckFunction returns false again
boolean EventPaused true, eventcheck is currently paused; false, eventcheck is currently running
function CheckFunction the function, which shall check if the event occurred
integer NumberOfActions the number of actions currently registered with this event
table Actions a table which holds all actions and their accompanying sections, who are run when the event occurred each entry of the table is of the format "actioncommandid,section", e.g.: Actions[1]="1007,0" Actions[2]="1012,0"



^ Reaper version 5.982 Ultraschall version 4.00EventManager_EnumerateStartupEvents

Functioncall:
Lua: string EventIdentifier, string Eventname, string CallerScriptIdentifier, number CheckAllXSeconds, number CheckForXSeconds, boolean StartActionsOnceDuringTrue, boolean Paused, function CheckFunction, number NumberOfActions, table Actions = ultraschall.EventManager_EnumerateStartupEvents(integer index)

Description:

Enumerates already existing startupevents, that shall be automatically run at startup of the Ultraschall Event Manager.

That means, if you start the EventManager, it will be started automatically to the EventManager-checking-queue, without the need of registering it by hand.

returns nil in case of an error


Parameters:
integer index the index of the StartUp-event, whose attributes you want to get; 1 for the first, etc

Returnvalues:
string EventIdentifier the EventIdentifier of the startup-event
string EventName a name for the startupevent
string CallerScriptIdentifier the ScriptIdentifier of the script, which added this event to the StartUpEvents
integer CheckAllXSeconds only check all x seconds; 0, for constant checking this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases! This is due general limitations with backgroundscripts.
integer CheckForXSeconds only check for x seconds; 0, check until the event is removed this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases! This is due general limitations with backgroundscripts.
boolean StartActionsOnceDuringTrue if the event occurred: true, run the actions only once; false, run until the CheckFunction returns false again
boolean Paused true, the event shall be started as paused; false, the event shall be run immediately
function CheckFunction the function, which shall check if the event occurred
integer NumberOfActions the number of actions currently registered with this event
table Actions a table which holds all actions and their accompanying sections, who are run when the event occurred each entry of the table is of the format "actioncommandid,section", e.g.: Actions[1]="1007,0" Actions[2]="1012,0"



^ Reaper version 5.982 Ultraschall version 4.00EventManager_EnumerateStartupEvents2

Functioncall:
Lua: integer index, string EventIdentifier, string Eventname, string CallerScriptIdentifier, number CheckAllXSeconds, number CheckForXSeconds, boolean StartActionsOnceDuringTrue, boolean Paused, function CheckFunction, number NumberOfActions, table Actions = ultraschall.EventManager_EnumerateStartupEvents2(string EventIdentifier)

Description:

Enumerates already existing startupevents by an EventIdentifier.

StartupEvents are events, that shall be automatically run at startup of the Ultraschall Event Manager. That means, if you start the EventManager, it will be started automatically to the EventManager-checking-queue, without the need of registering it by hand.

returns nil in case of an error


Parameters:
string EventIdentifier the identifier of the StartupEvent, that you want to enumerate

Returnvalues:
integer index the index of the StartupEvent within all StartUpEvents
string EventIdentifier the EventIdentifier of the startup-event
string EventName a name for the startupevent
string CallerScriptIdentifier the ScriptIdentifier of the script, which added this event to the StartUpEvents
integer CheckAllXSeconds only check all x seconds; 0, for constant checking this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases! This is due general limitations with backgroundscripts.
integer CheckForXSeconds only check for x seconds; 0, check until the event is removed this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases! This is due general limitations with backgroundscripts.
boolean StartActionsOnceDuringTrue if the event occurred: true, run the actions only once; false, run until the CheckFunction returns false again
boolean Paused true, the event shall be started as paused; false, the event shall be run immediately
function CheckFunction the function, which shall check if the event occurred
integer NumberOfActions the number of actions currently registered with this event
table Actions a table which holds all actions and their accompanying sections, who are run when the event occurred each entry of the table is of the format "actioncommandid,section", e.g.: Actions[1]="1007,0" Actions[2]="1012,0"



^ Reaper version 5.965 Ultraschall version 4.00EventManager_GetEventIdentifier

Functioncall:
Lua: string event_identifier = ultraschall.EventManager_GetEventIdentifier(integer id)

Description:

returns the EventIdentifier of a registered event, by id event is requested by number-id, with 1 for the first event, 2 for the second, etc.

returns nil in case of an error


Parameters:
integer id the id of the event, whose EventIdenrifier you want to retrieve; 1, the first event; 2, the second event, etc



^ Reaper version 5.965 Ultraschall version 4.00EventManager_GetLastCheckfunctionState

Functioncall:
Lua: boolean check_state, number last_statechange_precise_time = ultraschall.EventManager_GetLastCheckfunctionState(integer id)

Description:

returns the last state the eventcheck-function returned the last time it was called; of a certain registered event in the EventManager. State is requested by number-id, with 1 for the first event, 2 for the second, etc.

returns nil in case of an error; nil and time, if the EventCheck-function didn't return a boolean


Parameters:
integer id the id of the event, whose eventcheckfunction-retval you want to retrieve; 1, the first event; 2, the second event, etc



^ Reaper version 5.965 Ultraschall version 4.00EventManager_GetLastCheckfunctionState2

Functioncall:
Lua: boolean check_state, number last_statechange_precise_time = ultraschall.EventManager_GetLastCheckfunctionState2(string EventIdentifier)

Description:

returns the last state the eventcheck-function returned the last time it was called; of a certain registered event in the EventManager. State is requested by EventIdentifier

returns nil in case of an error; nil and time, if the EventCheck-function didn't return a boolean


Parameters:
string EventIdentifier the EventIdentifier of the event, whose last checkfunction-state you want to retrieve



^ Reaper version 5.982 Ultraschall version 4.00EventManager_GetLastUpdateTime

Functioncall:
Lua: string datetime, number precise_time = ultraschall.EventManager_GetLastUpdateTime()

Description:

Returns the last time, the eventlist in the EventManager had been updated in any way.


Returnvalues:
string datetime the date and time of the last update, as returned by os.date()
number precise_time the last update time as number, as returned by reaper.time_precise()



^ Reaper version 5.965 Ultraschall version 4.00EventManager_GetPausedState

Functioncall:
Lua: boolean paused_state = ultraschall.EventManager_GetPausedState(integer id)

Description:

returns, if a certain event, currently registered in the EventManager, is paused(true) or not(false) State is requested by number-id, with 1 for the first event, 2 for the second, etc.

returns nil in case of an error


Parameters:
integer id the id of the event, whose paused-state you want to retrieve; 1, the first event; 2, the second event, etc



^ Reaper version 5.965 Ultraschall version 4.00EventManager_GetPausedState2

Functioncall:
Lua: boolean paused_state = ultraschall.EventManager_GetPausedState2(string EventIdentifier)

Description:

returns, if a certain event, currently registered in the EventManager, is paused(true) or not(false). State is requested by EventIdentifier.

returns nil in case of an error


Parameters:
string EventIdentifier the identifier of the registered event, whose pause state you want to retrieve



^ Reaper version 5.965 Ultraschall version 4.00EventManager_GetRegisteredEventID

Functioncall:
Lua: integer id = ultraschall.EventManager_GetRegisteredEventID(string EventIdentifier)

Description:

returns the id of a registered event, meaning 1, if it's the first event, 2 if it's the second, etc

It is the position within all events currently registered within the EventManager.

returns nil in case of an error


Parameters:
string EventIdentifier the EventIdentifier of the event, whose id you want to retrieve



^ Reaper version 5.982 Ultraschall version 4.00EventManager_IsValidEventIdentifier

Functioncall:
Lua: boolean valid, boolean valid_inuse = ultraschall.EventManager_IsValidEventIdentifier(string event_identifier)

Description:

Checks, if a string is a valid EventIdentifier (valid) and currently registered with an event(valid_inuse) in the Ultraschall-EventManager-checking-queue.

returns false in case of an error


Parameters:
string event_identifier the unique identifier of the registered event, that you want to check

Returnvalues:
boolean valid true, valid EventIdentifier; false, no valid EventIdentifier
boolean valid_inuse true, valid EventIdentifier, which is currently registered and in use by the EventManager; false, no currently registered EventIdentifier



^ Reaper version 5.982 Ultraschall version 4.00EventManager_PauseEvent

Functioncall:
Lua: boolean retval = ultraschall.EventManager_PauseEvent(string event_identifier)

Description:

Pauses a registered event in the Ultraschall Event Manager-checking-queue.

returns false in case of an error


Parameters:
string event_identifier the unique identifier of the registered event, which you want to pause in the EventManager

Returnvalues:
boolean retval true, pausing was successful; false, pausing was unsuccessful



^ Reaper version 5.982 Ultraschall version 4.00EventManager_RemoveAllEvents_Script

Functioncall:
Lua: boolean retval = ultraschall.EventManager_RemoveAllEvents_Script(string ScriptIdentifier)

Description:

Removes all registered events from a script with a certain ScriptIdentifier in the Ultraschall Event Manager-checking-queue.

returns false in case of an error


Parameters:
string ScriptIdentifier the unique identifier of the registered event, which you want to remove from the EventManager

Returnvalues:
boolean retval true, removing was successful; false, removing was unsuccessful



^ Reaper version 5.982 Ultraschall version 4.00EventManager_RemoveEvent

Functioncall:
Lua: boolean retval = ultraschall.EventManager_RemoveEvent(string event_identifier)

Description:

Removes a new event to the Ultraschall Event Manager-checking-queue.

returns false in case of an error


Parameters:
string event_identifier the unique identifier of the registered event, which you want to remove from the EventManager

Returnvalues:
boolean retval true, removing was successful; false, removing was unsuccessful



^ Reaper version 5.982 Ultraschall version 4.00EventManager_RemoveStartupEvent

Functioncall:
Lua: boolean retval = ultraschall.EventManager_RemoveStartupEvent(string event_identifier)

Description:

Removes a startup-event from the config-file of the Ultraschall Event Manager.

returns false in case of an error


Parameters:
string event_identifier the unique identifier of the startup event, which you want to remove from the EventManager-startup-procedure

Returnvalues:
boolean retval true, removing was successful; false, removing was unsuccessful



^ Reaper version 5.982 Ultraschall version 4.00EventManager_RemoveStartupEvent2

Functioncall:
Lua: boolean retval = ultraschall.EventManager_RemoveStartupEvent2(integer id)

Description:

Removes a startup-event from the config-file of the Ultraschall Event Manager.

returns false in case of an error


Parameters:
string event_identifier the unique identifier of the startup event, which you want to remove from the EventManager-startup-procedure

Returnvalues:
boolean retval true, removing was successful; false, removing was unsuccessful



^ Reaper version 5.982 Ultraschall version 4.00EventManager_ResumeEvent

Functioncall:
Lua: boolean retval = ultraschall.EventManager_ResumeEvent(string event_identifier)

Description:

Resumes a registered and paused event in the Ultraschall Event Manager-checking-queue.

returns false in case of an error


Parameters:
string event_identifier the unique identifier of the registered event, which you want to resume in the EventManager

Returnvalues:
boolean retval true, resuming was successful; false, resuming was unsuccessful



^ Reaper version 5.982 Ultraschall version 4.00EventManager_SetEvent

Functioncall:
Lua: boolean retval = ultraschall.EventManager_SetEvent(string EventIdentifier, optional string EventName, optional integer CheckAllXSeconds, optional integer CheckForXSeconds, optional boolean StartActionsOnceDuringTrue, optional boolean EventPaused, optional function CheckFunction, optional table Actions)

Description:

Sets the attributes of an already added event in the Ultraschall Event Manager-checking-queue.

returns nil in case of an error


Parameters:
string EventIdentifier the EventIdentifier of the registered event, which you want to set
optional string EventName a name for the event, which you can choose freely; duplicated eventnames are allowed; nil, keep the old name
optional integer CheckAllXSeconds only check all x seconds; 0, for constant checking; nil, keep the old value this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases! This is due general limitations with backgroundscripts.
optional integer CheckForXSeconds only check for x seconds; 0, check until the event is removed; nil, keep the old value this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases! This is due general limitations with backgroundscripts.
optional boolean StartActionsOnceDuringTrue if the event occurred: true, run the actions only once; false, run until the CheckFunction returns false again nil, keep the old value
optional boolean EventPaused false, register the event and check for it immediately; true, register the event but don't check for it yet; nil, keep the old value
optional function CheckFunction the function, which shall check if the event occurred; nil, keep the old function this function must return true if the event occurred and false, if not No global variables allowed! Instead, the eventmanager will pass to the function as first parameter a table which can be used for storing information
optional table Actions a table which holds all actions and their accompanying sections, who shall be run when the event occurred; nil, keep the old actionlist each entry of the table must be of the format "actioncommandid,section", e.g.: Actions[1]="1007,0" Actions[2]="1012,0" You can have as many actions as you like, but be aware, that running too many actions may delay further eventchecking!

Returnvalues:
boolean retval true, setting was successful; false, setting wasn't successful



^ Reaper version 5.982 Ultraschall version 4.00EventManager_SetStartupEvent

Functioncall:
Lua: string event_identifier = ultraschall.EventManager_SetStartupEvent(string EventIdentifier, optional string EventName, optional integer CheckAllXSeconds, optional integer CheckForXSeconds, optional boolean StartActionsOnceDuringTrue, optional boolean EventPaused, optional function CheckFunction, optional table Actions)

Description:

Sets an already existing startupevent, that shall be automatically run at startup of the Ultraschall Event Manager.

That means, if you start the EventManager, it will be started automatically to the EventManager-checking-queue, without the need of registering it by hand.

returns nil in case of an error


Parameters:
string EventIdentifier the EventIdentifier of the startup-event, which you want to set
optional string EventName a name for the event, which you can choose freely; duplicated eventnames are allowed; nil, to keep current name
optional integer CheckAllXSeconds only check all x seconds; 0, for constant checking; nil, to keep current value this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases! This is due general limitations with backgroundscripts.
optional integer CheckForXSeconds only check for x seconds; 0, check until the event is removed; nil, to keep current value this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases! This is due general limitations with backgroundscripts.
optional boolean StartActionsOnceDuringTrue if the event occurred: true, run the actions only once; false, run until the CheckFunction returns false again nil, to keep current value
optional boolean EventPaused false, register the event and check for it immediately; true, register the event but don't check for it yet; nil, to keep current value
optional function CheckFunction the function, which shall check if the event occurred; nil, to keep current function this function must return true if the event occurred and false, if not No global variables allowed! Instead, the eventmanager will pass to the function as first parameter a table which can be used for storing information
optional table Actions a table which holds all actions and their accompanying sections, who shall be run when the event occurred; nil, to keep current actionlist each entry of the table must be of the format "actioncommandid,section", e.g.: Actions[1]="1007,0" Actions[2]="1012,0" You can have as many actions as you like, but be aware, that running too many actions may delay further eventchecking!

Returnvalues:
string event_identifier the unique identifier for this registered event, which can be used later for setting, deleting, etc



^ Reaper version 5.982 Ultraschall version 4.00EventManager_Start

Functioncall:
Lua: boolean retval = ultraschall.EventManager_Start()

Description:

Starts the Ultraschall-EventManager, if it has not been started yet.


Returnvalues:
boolean retval true, EventManager has been started successfully; false, EventManager couldn't be started



^ Reaper version 5.982 Ultraschall version 4.00EventManager_Stop

Functioncall:
Lua: ultraschall.EventManager_Stop(optional boolean force, optional string ScriptIdentifier)

Description:

Unregisters the current script; will stop the EventManager if no scripts are registered anymore to the EventManager.

You can use the parameter force to force stopping of the EventManager immediately.


Parameters:
optional boolean force true, stops the EventManager, even if other scripts have registered events to it; false or nil, don't force stop
optional string ScriptIdentifier if you want to unregister events from a different script, pass here the ScriptIdentifier of this script; nil, use the ScriptIdentifier of the current script




^ Reaper version 6.10 Ultraschall version 4.2CountFXFromFXStateChunk

Functioncall:
Lua: integer count_of_fx= ultraschall.CountFXFromFXStateChunk(string FXStateChunk)

Description:

count the number of fx available in an FXStateChunk

returns nil in case of an error

Parameters:
string FXStateChunk the FXStateChunk in which you want to count the fx

Returnvalues:
integer count_of_fx the number of fx within the FXStateChunk



^ Reaper version 6.02 Ultraschall version 4.00CountFXStateChunksInStateChunk

Functioncall:
Lua: integer count_of_takefx_statechunks, integer count_of_trackfx_statechunks = ultraschall.CountFXStateChunksInStateChunk(string StateChunk)

Description:

Counts all FXStateChunks within a StateChunk.
You can pass ItemStateChunks, TrackStateChunks and ProjectStateChunks.

returns -1 in case of an error.

Parameters:
string StateChunk the StateChunk, whose count of FXStateChunks you want to retrieve

Returnvalues:
integer count_of_takefx_statechunks the number of take-fx-StateChunks within the StateChunk. When passing Track/ProjectStateChunks, it returns number of all FXStateChunks from all Takes within the StateChunk
integer count_of_trackfx_statechunks the number of TrackFX-StateChunks; each track alawys has a single one, so it should match the number of tracks within the StateChunk; 0, if you pass a ItemStateChunk



^ Reaper version 6.02 Ultraschall version 4.00GetAllRFXChainfilenames

Functioncall:
Lua: integer count_of_RFXChainfiles, array RFXChainfiles = ultraschall.GetAllRFXChainfilenames()

Description:

Returns all available RFXChainfiles in the folder ResourcePath/FXChains

Returnvalues:
integer count_of_RFXChainfiles the number of available RFXChainFiles
array RFXChainfiles the filenames of the RFXChainfiles



^ Reaper version 5.975 Ultraschall version 4.00GetFXStateChunk

Functioncall:
Lua: string FXStateChunk, integer linenumber = ultraschall.GetFXStateChunk(string StateChunk, optional integer TakeFXChain_id)

Description:

Returns an FXStateChunk from a TrackStateChunk or a MediaItemStateChunk.

An FXStateChunk holds all FX-plugin-settings for a specific MediaTrack or MediaItem.

Returns nil in case of an error or if no FXStateChunk has been found.

Parameters:
string StateChunk the StateChunk, from which you want to retrieve the FXStateChunk
optional integer TakeFXChain_id when using MediaItemStateChunks, this allows you to choose the take of which you want the FXChain; default is 1

Returnvalues:
string FXStateChunk the FXStateChunk, stored in the StateChunk
integer linenumber returns the first linenumber, at which the found FXStateChunk starts in the StateChunk



^ Reaper version 5.975 Ultraschall version 4.2IsValidFXStateChunk

Functioncall:
Lua: boolean retval = ultraschall.IsValidFXStateChunk(string StateChunk)

Description:

Returns, if a StateChunk is a valid FXStateChunk.
An FXStateChunk holds all FX-plugin-settings for a specific MediaTrack or MediaItem or inputFX.

Returns false in case of an error

Parameters:
string StateChunk the StateChunk, which you want to check, whether it's a valid FXStateChunk

Returnvalues:
boolean retval true, it is a valid FXStateChunk; false, it is not



^ Reaper version 6.02 Ultraschall version 4.00LoadFXStateChunkFromRFXChainFile

Functioncall:
Lua: string FXStateChunk = ultraschall.LoadFXStateChunkFromRFXChainFile(string filename, integer trackfx_or_takefx)

Description:

Loads an FXStateChunk from an RFXChain-file.

If you don't give a path, it will try to load the file from the folder ResourcePath/FXChains.

returns nil in case of an error

Parameters:
string filename the filename of the RFXChain-file(must include ".RfxChain"); omit the path to load it from the folder ResourcePath/FXChains
integer trackfx_or_takefx 0, return the FXStateChunk as Track-FXStateChunk; 1, return the FXStateChunk as Take-FXStateChunk

Returnvalues:
string FXStateChunk the loaded FXStateChunk; nil, in case of an error



^ Reaper version 6.02 Ultraschall version 4.00RemoveFXStateChunkFromItemStateChunk

Functioncall:
Lua: string alteredItemStateChunk = ultraschall.RemoveFXStateChunkFromItemStateChunk(string ItemStateChunk, integer take_id)

Description:

Removes a certain Take-FXStateChunk from an ItemStateChunk.

Returns nil in case of failure.

Parameters:
string ItemStateChunk the ItemStateChunk, from which you want to remove an FXStateChunk
integer take_id the take, whose FXStateChunk you want to remove

Returnvalues:
string alteredItemStateChunk the StateChunk, from which the FXStateChunk was removed



^ Reaper version 6.02 Ultraschall version 4.00RemoveFXStateChunkFromTrackStateChunk

Functioncall:
Lua: string altered_TrackStateChunk = ultraschall.RemoveFXStateChunkFromTrackStateChunk(string TrackStateChunk)

Description:

Clears the FXChain from a TrackStateChunk

returns nil in case of an error.

Parameters:
string TrackStateChunk the TrackStateChunk, whose FXStateChunk you want to remove

Returnvalues:
string altered_TrackStateChunk the TrackStateChunk, cleared of the Track-FXStateChunk



^ Reaper version 6.02 Ultraschall version 4.00SaveFXStateChunkAsRFXChainfile

Functioncall:
Lua: integer retval = ultraschall.SaveFXStateChunkAsRFXChainfile(string filename, string FXStateChunk)

Description:

Loads an FXStateChunk from an RFXChain-file.

If you don't give a path, it will try to load the file from the folder ResourcePath/FXChains.

returns -1 in case of an error

Parameters:
string filename the filename of the output-RFXChain-file(must include ".RfxChain"); omit the path to save it into the folder ResourcePath/FXChains
string FXStateChunk the FXStateChunk, which you want to set into the TrackStateChunk

Returnvalues:
integer retval -1 in case of failure, 1 in case of success



^ Reaper version 5.979 Ultraschall version 4.00SetFXStateChunk

Functioncall:
Lua: boolean retval, optional string alteredStateChunk = ultraschall.SetFXStateChunk(string StateChunk, string FXStateChunk, optional integer TakeFXChain_id)

Description:

Adds/replaces FXStateChunk to/in a TrackStateChunk or a MediaItemStateChunk.

returns false in case of an error

Parameters:
string StateChunk the TrackStateChunk, into which you want to set the FXChain
string FXStateChunk the FXStateChunk, which you want to set into the TrackStateChunk
optional integer TakeFXChain_id when using MediaItemStateChunks, this allows you to choose the take of which you want the FXChain; default is 1

Returnvalues:
boolean retval true, if setting fxstatechunk was successful; false, if setting was unsuccessful
optional string alteredStateChunk the altered StateChunk




^ Reaper version 6.02 Ultraschall version 4.2GetDocked_FXStateChunk

Functioncall:
Lua: integer dockstate = ultraschall.GetDocked_FXStateChunk(string FXStateChunk, integer fxid)

Description:

returns the DOCKED-entryvalues from an FXStateChunk.

returns nil in case of an error

Parameters:
string FXStateChunk the FXStateChunk, whose dockstate you want to get

Returnvalues:
integer dockstate 0, undocked; 1, docked



^ Reaper version 6.02 Ultraschall version 4.2GetFXBypass_FXStateChunk

Functioncall:
Lua: integer bypass, integer offline, integer unknown = ultraschall.GetFXBypass_FXStateChunk(string FXStateChunk, integer fxid)

Description:

returns the BYPASS-entryvalues of a specific fx from an FXStateChunk, like bypass and online-state..

returns nil in case of an error

Parameters:
string FXStateChunk the FXStateChunk, from whose fx you want to return the BYPASS-entry
integer fxid the fx, whose BYPASS-entryvalues you want to return

Returnvalues:
integer bypass 0, non-bypassed; 1, bypassed
integer offline 0, online; 1, offline
integer unknown unknown; default is 0



^ Reaper version 6.02 Ultraschall version 4.2GetFXComment_FXStateChunk

Functioncall:
Lua: string comment = ultraschall.GetFXComment_FXStateChunk(string FXStateChunk, integer fxid)

Description:

returns the fx-comment of a specific fx from an FXStateChunk

will return "" if no comment exists

returns nil in case of an error

Parameters:
string FXStateChunk the FXStateChunk, from whose fx you want to return a specific fx-comment
integer fxid the fx, whose comment you want to return

Returnvalues:
string comment the comment as stored for this specific fx; "", if no comment exists



^ Reaper version 6.02 Ultraschall version 4.2GetFXFloatPos_FXStateChunk

Functioncall:
Lua: boolean floating, integer x, integer y, integer width, integer height = ultraschall.GetFXFloatPos_FXStateChunk(string FXStateChunk, integer fxid)

Description:

returns the FLOATPOS/FLOAT-entryvalues of a specific fx from an FXStateChunk, like float-state and float-coordinates.

If all coordinates of the floating fx-window are 0, then the fx-window was never in float-state, yet.

There is only one of the FLOATPOS/FLOAT-entries present at any time.
FLOATPOS, when the fx-window is not floating
FLOAT, when the fx-window is floating.

returns nil in case of an error

Parameters:
string FXStateChunk the FXStateChunk, from whose fx you want to return the FLOAT/FLOATPOS-entry
integer fxid the fx, whose FLOAT/FLOATPOS-entryvalues you want to return

Returnvalues:
boolean floating true, fx-window is floating; false, fx-window isn't floating
integer x the x-position of the floating window; 0, if it hasn't been floating yet
integer y the y-position of the floating window; 0, if it hasn't been floating yet
integer width the width of the floating window; 0, if it hasn't been floating yet
integer height the height of the floating window; 0, if it hasn't been floating yet



^ Reaper version 6.10 Ultraschall version 4.2GetFXFromFXStateChunk

Functioncall:
Lua: string fx_lines, integer startoffset, integer endoffset = ultraschall.GetFXFromFXStateChunk(string FXStateChunk, integer fxindex)

Description:

returns the statechunk-lines of fx with fxindex from an FXStateChunk

It also returns the start and endoffset of these lines, so you can manipulate these lines and replace them in the
original FXStateChunk, by replacing the part between start and endoffset with your altered lines.

returns nil in case of an error

Parameters:
string FXStateChunk the FXStateChunk from which you want to retrieve the fx's-lines
integer fxindex the index of the fx, whose statechunk lines you want to retrieve; with 1 for the first

Returnvalues:
string fx_lines the statechunk-lines associated with this fx
integer startoffset the startoffset in bytes of these lines within the FXStateChunk
integer endoffset the endoffset in bytes of these lines within the FXStateChunk



^ Reaper version 6.02 Ultraschall version 4.2GetFXGuid_FXStateChunk

Functioncall:
Lua: string guid = ultraschall.GetFXGuid_FXStateChunk(string FXStateChunk, integer fxid)

Description:

returns the FXID-entryvalues of a specific fx from an FXStateChunk, which is the guid of the fx.

returns nil in case of an error

Parameters:
string FXStateChunk the FXStateChunk, from whose fx you want to return the guid-entry
integer fxid the fx, whose guid you want to return

Returnvalues:
string guid the guid of the fx



^ Reaper version 6.02 Ultraschall version 4.2GetFXMidiPreset_FXStateChunk

Functioncall:
Lua: integer midi_preset = ultraschall.GetFXMidiPreset_FXStateChunk(string FXStateChunk, integer fxid)

Description:

returns the MIDIPRESET-entryvalues of a specific fx from an FXStateChunk as set by the +-button->Link to MIDI program change-menuentry in the FX-window of the visible plugin.

returns nil in case of an error

Parameters:
string FXStateChunk the FXStateChunk, from whose fx you want to return the MIDIPRESET-entry
integer fxid the fx, whose MIDIPRESET-entryvalues you want to return

Returnvalues:
integer midi_preset 0, No Link; 17, Link all channels sequentially; 1-16, MIDI-channel 1-16



^ Reaper version 6.02 Ultraschall version 4.2GetFXSettingsString_FXLines

Functioncall:
Lua: string fx_statestring_base64, string fx_statestring = ultraschall.GetFXSettingsString_FXLines(string fx_lines)

Description:

Returns the fx-states-string of a fx, as stored as an base64-string.byte It returns its decoded and encoded version of it.

Use GetFXFromFXStateChunk to get the requested parameter "fx_lines"

returns nil in case of an error


Parameters:
string fx_lines the statechunk-lines of an fx, as returned by the function GetFXFromFXStateChunk()

Returnvalues:
string fx_statestring_base64 the base64-version of the state-string, which holds all fx-settings of the fx
string fx_statestring the decoded binary-version of the state-string, which holds all fx-settings of the fx



^ Reaper version 6.02 Ultraschall version 4.2GetFXWak_FXStateChunk

Functioncall:
Lua: integer keyboard_input_2_plugin, integer fx_embed_state = ultraschall.GetFXWak_FXStateChunk(string FXStateChunk, integer fxid)

Description:

returns the WAK-entryvalues of a specific fx from an FXStateChunk, as set by the +-button->Send all keyboard input to plugin-menuentry in the FX-window of the visible plugin.

returns nil in case of an error

Parameters:
string FXStateChunk the FXStateChunk, from whose fx you want to return the WAK-entry
integer fxid the fx, whose WAK-entryvalues you want to return

Returnvalues:
integer keyboard_input_2_plugin 0, don't send all the keyboard-input to plugin; 1, send all keyboard-input to plugin
integer fx_embed_state set embedding of the fx; &1=TCP, &2=MCP



^ Reaper version 6.02 Ultraschall version 4.2GetLastSel_FXStateChunk

Functioncall:
Lua: integer last_selected_fx = ultraschall.GetLastSel_FXStateChunk(string FXStateChunk, integer fxid)

Description:

returns the LASTSEL-entryvalues from an FXStateChunk.

returns nil in case of an error

Parameters:
string FXStateChunk the FXStateChunk, whose last-selected-fx you want to get

Returnvalues:
integer last_selected_fx the last selected fx; 1, the first fx; 2, the second fx; 3, the third fx



^ Reaper version 6.02 Ultraschall version 4.2GetShow_FXStateChunk

Functioncall:
Lua: integer showstate = ultraschall.GetShow_FXStateChunk(string FXStateChunk, integer fxid)

Description:

returns the SHOW-entryvalues from an FXStateChunk.

This shows, whether the fxchain is currently shown and which fx is visible in Reaper's UI.

returns nil in case of an error

Parameters:
string FXStateChunk the FXStateChunk, whose show-state you want to get

Returnvalues:
integer shownstate 0, the fx-chain is not shown; 1, first fx is shown; 2, second fx is shown, etc



^ Reaper version 6.10 Ultraschall version 4.2GetTakeFXComment

Functioncall:
Lua: string comment = ultraschall.GetTakeFXComment(MediaItem item, integer takeid, integer fxid)

Description:

returns the comment of a take-fx

returns nil in case of an error

Parameters:
MediaItem item the mediaitem, whose takefx-comment you want to request
integer take_id the id of the take, whose takefx-comment you want to request
integer fxid the id of the fx, whose comment you want to have

Returnvalues:
string comment the comment of a track-fx



^ Reaper version 6.11 Ultraschall version 4.1GetTakeFX_AlternativeName

Functioncall:
Lua: string alternative_fx_name = ultraschall.GetTakeFX_AlternativeName(integer tracknumber, integer take_id, integer fx_id)

Description:

Returns the alternative name of a specific takefx.

Returns nil in case of an error

Returnvalues:
string alternative_fx_name the alternative fx-name set for this fx



^ Reaper version 6.10 Ultraschall version 4.2GetTrackFXComment

Functioncall:
Lua: string comment = ultraschall.GetTrackFXComment(MediaTrack track, integer fxid)

Description:

returns the comment of a track-fx

returns nil in case of an error

Parameters:
MediaTrack track the mediatrack, of which you want to request a trackfx's comment
integer fxid the id of the fx, whose comment you want to have

Returnvalues:
string comment the comment of a track-fx



^ Reaper version 6.11 Ultraschall version 4.1GetTrackFX_AlternativeName

Functioncall:
Lua: string alternative_fx_name = ultraschall.GetTrackFX_AlternativeName(integer tracknumber, integer fx_id)

Description:

Returns the alternative name of a specific trackfx.

Returns nil in case of an error

Returnvalues:
string alternative_fx_name the alternative fx-name set for this fx



^ Reaper version 6.02 Ultraschall version 4.2GetWndRect_FXStateChunk

Functioncall:
Lua: integer x, integer y, integer width, integer height = ultraschall.GetWndRect_FXStateChunk(string FXStateChunk, integer fxid)

Description:

returns the WNDRECT-entryvalues from an FXStateChunk.

These are the window-positions of the fx-chain, when the window is floating.

returns nil in case of an error

Parameters:
string FXStateChunk the FXStateChunk, whose floating-window-position you want to get

Returnvalues:
integer x the x-position of the floating window; 0, if it hasn't been floating yet
integer y the y-position of the floating window; 0, if it hasn't been floating yet
integer width the width of the floating window; 0, if it hasn't been floating yet
integer height the height of the floating window; 0, if it hasn't been floating yet




^ Reaper version 6.02 Ultraschall version 4.1GetFocusedFX

Functioncall:
Lua: integer retval, integer tracknumber, integer fxidx, integer itemnumber, integer takeidx, MediaTrack track, optional MediaItem item, optional MediaItemTake take = ultraschall.GetFocusedFX()

Description:

Returns the focused FX

Returnvalues:
integer retval 0, if no FX window has focus 1, if a track FX window has focus or was the last focused and still open 2, if an item FX window has focus or was the last focused and still open
integer tracknumber tracknumber; 0, master track; 1, track 1; etc.
integer fxidx the index of the FX; 1-based
integer itemnumber -1, if it's a track-fx; 1 and higher, the mediaitem-number
integer takeidx -1, if it's a track-fx; 1 and higher, the take-number
MediaTrack track the MediaTrack-object
optional MediaItem item the MediaItem, if take-fx
optional MediaItemTake take the MediaItem-Take, if take-fx



^ Reaper version 6.02 Ultraschall version 4.1GetLastTouchedFX

Functioncall:
Lua: boolean retval, integer sourcetype, integer track_take_number, integer fxnumber, integer paramnumber, integer takeID, optional MediaTrack track, optional MediaItemTake take = ultraschall.GetLastTouchedFX()

Description:

Returns the last touched FX

Note: Does not return last touched monitoring-FX!

Returnvalues:
boolean retval true, valid FX; false, no valid FX
integer sourcetype 0, takeFX; 1, trackFX
integer track_take_number the track or takenumber(see sourcetype-retval); 1-based
integer fxnumber the number of the fx; 1-based
integer paramnumber the number of the parameter; 1-based
integer takeID the number of the take; 1-based; -1, if takeFX
optional MediaTrack track the track of the TrackFX
optional MediaItemTake take the take of the TakeFX



^ Reaper version 6.02 SWS version 2.10.0.1 Ultraschall version 4.00GetRecentFX

Functioncall:
Lua: integer count_of_RecentFX, array RecentFX = ultraschall.GetRecentFX()

Description:

Returns the recent fx-list

Returnvalues:
integer count_of_RecentFX the number of available recent fx
array RecentFX the names of the recent fx




^ Reaper version 6.05 Ultraschall version 4.2InputFX_AddByName

Functioncall:
Lua: integer retval = ultraschall.InputFX_AddByName(string fxname, boolean always_new_instance, optional integer tracknumber)

Description:

Adds an FX as monitoring FX.

returns -1 in case of an error

Parameters:
string fxname the name of the fx to be inserted
boolean always_new_instance true, always add a new instance of the fx; false, only add if there's none yet
optional integer tracknumber the tracknumber, to whose inputFX the fx shall be added; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
integer retval the index of the newly inserted fx or the index of the already existing fx; -1, in case of an error



^ Reaper version 6.05 Ultraschall version 4.2InputFX_CopyFX

Functioncall:
Lua: boolean retval = ultraschall.InputFX_CopyFX(integer old_fxindex, integer new_fxindex, optional integer tracknumber_source, optional integer tracknumber_target)

Description:

Copies a monitoring-fx and inserts it at a new position

returns -1 in case of an error

Parameters:
integer old_fxindex the index of the input-fx to be copied; 1-based
integer new_fxindex the position of the newly inserted input-fx; 1-based
optional integer tracknumber_source the tracknumber of the track, from whose inputFX you want to move the fx; 1-based; nil, master-track
optional integer tracknumber_target the tracknumber of the track, to which you want to move the inputFX; 1-based; nil, master-track

Returnvalues:
integer retval the index of the inserted fx(in case of being different from new_fxindex); -1, in case of an error; 1-based



^ Reaper version 6.05 Ultraschall version 4.2InputFX_CopyFXFromTakeFX

Functioncall:
Lua: integer dest_fx = ultraschall.InputFX_CopyFXFromTakeFX(MediaItem_Take take, integer src_fx, integer dest_fx, optional integer dest_tracknumber)

Description:

copies a takeFX to monitoringFX

returns -1 in case of an error

Parameters:
MediaItem_Take take the take, from which you want to copy the takeFX
integer src_fx the index takeFX that shall be copied; 1-based
integer dest_fx the index, at which you want to insert the fx into the monitoring FXChain; 1-based
optional integer dest_tracknumber the tracknumber, to which you want to copy a new inputFX; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
integer dest_fx the index of the inserted FX, just in case it differs; 1-based



^ Reaper version 6.05 Ultraschall version 4.2InputFX_CopyFXFromTrackFX

Functioncall:
Lua: integer retval = ultraschall.InputFX_CopyFXFromTrackFX(MediaTrack track, integer old_fxindex, integer new_fxindex, optional integer tracknumberInputFX)

Description:

Copies a trackfx and inserts it as monitoring-fx at a certain position

returns -1 in case of an error

Parameters:
MediaTrack track the track from which you want to copy a trackfx
integer old_fxindex the index of the track-fx to be copied; 1-based
integer new_fxindex the position of the newly inserted input-fx; 1-based
optional integer tracknumberInputFX the tracknumber, to whose inputFX the fx shall be copied; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
integer retval the index of the inserted fx(in case of being different from new_fxindex); -1, in case of an error; 1-based



^ Reaper version 6.05 Ultraschall version 4.2InputFX_CopyFXToTakeFX

Functioncall:
Lua: integer dest_fx = ultraschall.InputFX_CopyFXToTakeFX(integer src_fx, MediaItem_Take take, integer dest_fx, optional integer src_tracknumber)

Description:

copies a monitoring-fx to a takeFX

returns -1 in case of an error

Parameters:
integer src_fx the index inputFX that shall be copied; 1-based
MediaItem_Take take the take, into which you want to insert the fx as takeFX
integer dest_fx the index, at which you want to insert the fx; 1-based
optional integer src_tracknumber the tracknumber, whose inputFX you want to copy; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
integer dest_fx the index of the inserted FX, just in case it differs; 1-based



^ Reaper version 6.05 Ultraschall version 4.2InputFX_CopyFXToTrackFX

Functioncall:
Lua: integer retval = ultraschall.InputFX_CopyFXToTrackFX(integer old_fxindex, MediaTrack track, integer new_fxindex, optional integer tracknumberInputFX)

Description:

Copies a monitoring-fx and inserts it as trackfx at a certain position

returns -1 in case of an error

Parameters:
integer old_fxindex the index of the monitoring-fx to be copied; 1-based
MediaTrack track the track into which you want to insert the trackFX
integer new_fxindex the position of the newly inserted track-fx; 1-based
optional integer tracknumberInputFX the tracknumber, from whose inputFX the fx shall be copied from; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
integer retval the index of the inserted fx(in case of being different from new_fxindex); -1, in case of an error



^ Reaper version 6.05 Ultraschall version 4.2InputFX_Delete

Functioncall:
Lua: boolean retval = ultraschall.InputFX_Delete(integer fxindex, optional integer tracknumber)

Description:

removes a certain monitoring-fx

returns false in case of an error

Parameters:
integer fxindex the index of the monitoring-fx to be deleted; 1-based
optional integer tracknumber the tracknumber, whose inputFX shall be deleted; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
boolean retval true, removing was successful; false, removing was unsuccessful



^ Reaper version 6.05 Ultraschall version 4.2InputFX_EndParamEdit

Functioncall:
Lua: boolean retval = ultraschall.InputFX_EndParamEdit(integer fxindex, integer paramindex, optional integer tracknumber)

Description:

This ends the capture of a parameter(e.g when finished writing automation)

returns false in case of an error

Parameters:
integer fxindex the index of the monitoring-fx
integer paramindex the index of the parameter of the monitoring-fx
optional integer tracknumber the tracknumber, whose inputFX-parameter shall be ended in editing; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
boolean retval true, unknown; false, unknown



^ Reaper version 6.02 Ultraschall version 4.2InputFX_FormatParamValue

Functioncall:
Lua: boolean retval, string formatted_value = ultraschall.InputFX_FormatParamValue(integer fxindex, integer paramindex, number value, optional integer tracknumber)

Description:

You can take a value and format it in the style of the used format of a specific parameter, like the frequency(to Hz), gain(to dB) with ReaEQ or bypass(normal, bypasses), wet with ReaTune, etc.

Note: only works with FX that support Cockos VST extensions.

returns false in case of an error

Parameters:
integer fxindex the index of the fx; 1-based
integer paramindex the parameter, whose formatting-style you want to applied to value; 1-based
number value the value you want to have formatted in the style of the parameter
optional integer tracknumber the tracknumber, whose inputFX-parameter you want to format; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
boolean retval true, formatting was successful; false, formatting was unsuccessful(no such fx, parameter, no support for Cockos VST extension
string formatted_value the value in the format of the parameter; "", if not available



^ Reaper version 6.02 Ultraschall version 4.2InputFX_FormatParamValueNormalized

Functioncall:
Lua: boolean retval, string formatted_value = ultraschall.InputFX_FormatParamValueNormalized(integer fxindex, integer paramindex, number value, optional integer tracknumber)

Description:

You can take a value and format it in the style of the used format of a specific parameter, like the frequency(to Hz), gain(to dB) with ReaEQ or bypass(normal, bypasses), wet with ReaTune, etc.
The value will be normalized.

Note: only works with FX that support Cockos VST extensions.

returns false in case of an error

Parameters:
integer fxindex the index of the fx; 1-based
integer paramindex the parameter, whose formatting-style you want to applied to value; 1-based
number value the value you want to have formatted in the style of the parameter
optional integer tracknumber the tracknumber, whose inputFX-parameter you want to get formatted and normalized; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
boolean retval true, formatting was successful; false, formatting was unsuccessful(no such fx, parameter, no support for Cockos VST extension
string formatted_value the value in the format of the parameter; "", if not available



^ Reaper version 6.05 Ultraschall version 4.2InputFX_GetChainVisible

Functioncall:
Lua: boolean inputfx_chain_visible, integer visible_inputfx = ultraschall.InputFX_GetChainVisible(optional integer tracknumber)

Description:

returns if the monitoring-fx-chain is visible and index of the currently visible monitoring-fx

returns nil in case of an error

Parameters:
optional integer tracknumber the tracknumber, whose inputFX-chain-visibility you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
boolean inputfx_chain_visible true, fxchain is visible; false, fxchain is not visible
integer visible_inputfx the index of the currently visible monitoring-fx; -1, if nothing is visible; 1-based



^ Reaper version 6.10 Ultraschall version 4.2InputFX_GetComment

Functioncall:
Lua: string comment = ultraschall.InputFX_GetComment(integer fxid)

Description:

returns the comment of an input-fx

returns nil in case of an error

Parameters:
integer fxid the id of the fx, whose comment you want to have

Returnvalues:
string comment the comment of a track-fx



^ Reaper version 6.05 Ultraschall version 4.2InputFX_GetCount

Functioncall:
Lua: integer monitoring_fx_count = ultraschall.InputFX_GetCount(optional integer tracknumber)

Description:

counts the available monitoring-fx

returns -1 in case of an error

Parameters:
optional integer tracknumber the tracknumber, whose inputFX you want to count; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
integer monitoring_fx_count the number of available monitoring-fx



^ Reaper version 6.02 Ultraschall version 4.2InputFX_GetEQ

Functioncall:
Lua: integer index = ultraschall.InputFX_GetEQ(boolean instantiate, optional integer tracknumber)

Description:

Get the index of the first ReaEQ-instance in the monitoringFX, if available.

Optionally add a new instance if ReaEQ isn't existing yet in the monitoring-fx-chain.

returns -1 in case of an error

Parameters:
boolean instantiate true, add ReaEQ into monitoring-fx if not existing yet; false, don't add a ReaEQ-instance if not existing in monitoring-FXChain yet
optional integer tracknumber the tracknumber, whose inputFX-eq-position you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
integer index_of_reaeq the index of the first instance of ReaEQ in the monitoringFX; 0, if no ReaEQ is in the monitoringFX; -1, in case of an error



^ Reaper version 6.02 Ultraschall version 4.2InputFX_GetEQBandEnabled

Functioncall:
Lua: boolean enabled = ultraschall.InputFX_GetEQBandEnabled(integer fxindex, integer bandtype, integer bandidx, optional integer tracknumber)

Description:

Gets the enable or disable-state of a ReaEQ band of a monitoring-fx.

returns false in case of an error

Parameters:
integer fxindex the index of the monitoring-fx; 1-based
integer bandtype the bandtype of the band to change; 0, lhipass 1, loshelf 2, band 3, notch 4, hishelf 5, lopass
integer bandidx 0, first band matching bandtype; 1, 2nd band matching bandtype, etc.
optional integer tracknumber the tracknumber, whose inputFX-EQ-Band-enabled-state you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
boolean enabled true, band is enabled; false, band is disabled



^ Reaper version 6.02 Ultraschall version 4.2InputFX_GetEQParam

Functioncall:
Lua: boolean retval, number bandtype, number bandidx, number paramtype, number normval = ultraschall.InputFX_GetEQParam(integer fxindex, integer paramidx, optional integer tracknumber)

Description:

Gets the states and values of an EQ-parameter of a ReaEQ-instance in monitoring-fx

returns false in case of an error

Parameters:
integer fxindex the index of the monitoring-fx; 1-based
integer paramidx the parameter whose eq-states you want to retrieve; 1-based
optional integer tracknumber the tracknumber, whose inputFX-eq-param you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
boolean retval true, if it's a ReaEQ-instance; false, is not a ReaEQ-instance or in case of an error
integer bandtype the bandtype of the band to change; -1, master gain 0, lhipass 1, loshelf 2, band 3, notch 4, hishelf 5, lopass
integer bandidx 0, first band matching bandtype; 1, 2nd band matching bandtype, etc.
number paramtype 0, freq; 1, gain; 2, Q
number normval the normalized value



^ Reaper version 6.05 Ultraschall version 4.2InputFX_GetEnabled

Functioncall:
Lua: boolean inputfx_enabled = ultraschall.InputFX_GetEnabled(integer fxindex, optional integer tracknumber)

Description:

returns if a certain monitoring-fx is enabled

returns nil in case of an error

Parameters:
integer fxindex the index of the monitoring-fx, whose enabled state you want to query; 1-based
optional integer tracknumber the tracknumber, whose inputFX-enabledness you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
boolean inputfx_enabled true, fx is enabled; false, fxchain is not enabled



^ Reaper version 6.02 Ultraschall version 4.2InputFX_GetFXChain

Functioncall:
Lua: string FXStateChunk = ultraschall.InputFX_GetFXChain(integer fxstatechunk_type, optional integer tracknumber)

Description:

Loads the FXStateChunk from the monitoring-fx-chain.

Returns

Parameters:
integer fxstatechunk_type 0, return the FXStateChunk as Track-FXStateChunk 1, return the FXStateChunk as Take-FXStateChunk 2, return the FXStateChunk as Track-InputFX-FXStateChunk
optional integer tracknumber the tracknumber of the track, whose fxinput-chain you want to get nil or 0, global monitoring-fx; 1 and higher, the inputFX-chain from track 1 and higher

Returnvalues:
string FXStateChunk the loaded FXStateChunk; nil, in case of an error



^ Reaper version 6.05 Ultraschall version 4.2InputFX_GetFXGUID

Functioncall:
Lua: string fxguid = ultraschall.InputFX_GetFXGUID(integer fxindex, optional integer tracknumber)

Description:

returns the guid of a monitoring-fx

returns nil in case of an error

Parameters:
integer fxindex the index of the monitoring-fx, whose guid you want to query; 1-based
optional integer tracknumber the tracknumber, whose inputFX-fx-guid you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
string fxguid the guid of the monitoring-fx



^ Reaper version 6.05 Ultraschall version 4.2InputFX_GetFXName

Functioncall:
Lua: boolean retval, string fxname = ultraschall.InputFX_GetFXName(integer fxindex, optional integer tracknumber)

Description:

returns the name of a monitoring-fx

returns false in case of an error

Parameters:
integer fxindex the index of the monitoring-fx, whose name you want to query; 1-based
optional integer tracknumber the tracknumber, whose inputFX-fxname you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
boolean retval true, monitoring fx exists; false, no such monitoring-fx exists
string fxname the name of the monitoring-fx



^ Reaper version 6.05 Ultraschall version 4.2InputFX_GetFloatingWindow

Functioncall:
Lua: HWND inputfx_floating_hwnd = ultraschall.InputFX_GetFloatingWindow(integer fxindex, optional integer tracknumber)

Description:

returns the hwnd of a floating monitoring-fx-window

returns nil in case of an error

Parameters:
integer fxindex the index of the monitoring-fx, whose floating-monitoring-fx-hwnd you want to get; 1-based
optional integer tracknumber the tracknumber, whose inputFX-floating-window-hwnd you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
HWND inputfx_floating_hwnd the hwnd of the floating montitoring fx; nil, if not available



^ Reaper version 6.02 Ultraschall version 4.2InputFX_GetFormattedParamValue

Functioncall:
Lua: boolean retval, string formatted_value = ultraschall.InputFX_GetFormattedParamValue(integer fxindex, integer paramindex, optional integer tracknumber)

Description:

Returns the current value of the monitoring-fx's parameter in its formatted style.

returns false in case of an error

Parameters:
integer fxindex the index of the fx; 1-based
integer paramindex the parameter, whose formatted value you want to get; 1-based
optional integer tracknumber the tracknumber, whose inputFX-parameter-value you want to get as formatted; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
boolean retval true, getting was successful; false, getting was unsuccessful
string formatted_value the value of the formatted parameter; "", if not available



^ Reaper version 6.02 Ultraschall version 4.2InputFX_GetIOSize

Functioncall:
Lua: integer retval, optional number inputPins, optional number outputPins = ultraschall.InputFX_GetIOSize(integer fxindex, optional integer tracknumber)

Description:

Returns the plugin-type and the input/output-pins available for an inputFX

returns -1 in case of an error

Parameters:
integer fxindex the index of the fx; 1-based
optional integer tracknumber the tracknumber, whose inputFX-plugintype/in-out-pins you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
integer retval the plugin-type -1, no such plugin 0, VSTi 2, JSFX 3, VST 5, Mac AU 6, Video Processor
optional number inputPins the number of input-pins available
optional number outputPins the number of output-pins available



^ Reaper version 6.02 Ultraschall version 4.2InputFX_GetNamedConfigParm

Functioncall:
Lua: boolean retval, string config_parm_name = ultraschall.InputFX_GetNamedConfigParm(integer fxindex, string parmname, optional integer tracknumber)

Description:

gets plug-in specific named configuration value (returns true on success) of a monitoring-fx.

Special values:
'pdc' returns PDC latency.
'in_pin_0' returns name of first input pin (if available),
'out_pin_0' returns name of first output pin (if available), etc.

returns false in case of an error

Parameters:
integer fxindex the index of the fx; 1-based
string parmname the value of the named config parm you want to get
optional integer tracknumber the tracknumber, whose inputFX-named-config-parameter-state you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
boolean retval true, name is available; false, name is not available
string config_parm_name the name of the config parameter



^ Reaper version 6.05 Ultraschall version 4.2InputFX_GetNumParams

Functioncall:
Lua: integer count_params = ultraschall.InputFX_GetNumParams(integer fxindex, optional integer tracknumber)

Description:

returns the number of parameters of a monitoring-fx

returns -1 in case of an error

Parameters:
integer fxindex the index of the monitoring-fx, whose number of parameters you want to query; 1-based
optional integer tracknumber the tracknumber, whose inputFX-fxname you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
integer count_params the number of parameters of the monitoring-fx



^ Reaper version 6.05 Ultraschall version 4.2InputFX_GetOffline

Functioncall:
Lua: boolean is_offline = ultraschall.InputFX_GetOffline(integer fxindex)

Description:

returns the offline-state of a monitoring-fx

returns false in case of an error

Parameters:
integer fxindex the index of the monitoring-fx, whose offline-state you want to query; 1-based
optional integer tracknumber the tracknumber, whose inputFX-offline-state you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
boolean is_offline true, fx is offline; false, fx is not offline



^ Reaper version 6.05 Ultraschall version 4.2InputFX_GetOpen

Functioncall:
Lua: boolean is_open = ultraschall.InputFX_GetOpen(integer fxindex, optional integer tracknumber)

Description:

returns if a monitoring-fx is open(currently visible)

returns false in case of an error

Parameters:
integer fxindex the index of the monitoring-fx, whose visibility-state you want to query; 1-based
optional integer tracknumber the tracknumber, whose inputFX-visibility-state you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
boolean is_open true, fx is visible; false, fx is not visible



^ Reaper version 6.02 Ultraschall version 4.2InputFX_GetParam

Functioncall:
Lua: number curval, number minval, number maxval = ultraschall.InputFX_GetParam(integer fxindex, integer paramindex, optional integer tracknumber)

Description:

returns the current, maximum and minimum value of a parameter of a monitoring-fx.

returns nil in case of an error

Parameters:
integer fxindex the index of the monitoring-fx; 1-based
integer paramindex the parameter, whose value you want to retrieve; 1-based
optional integer tracknumber the tracknumber, whose inputFX-parameter-states you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
number curval the current value of the parameter
number minval the minimum value of this parameter
number maxval the maximum value of this parameter



^ Reaper version 6.02 Ultraschall version 4.2InputFX_GetParamEx

Functioncall:
Lua: number curval, number minval, number maxval, number midval = ultraschall.InputFX_GetParamEx(integer fxindex, integer paramindex, optional integer tracknumber)

Description:

returns the current, maximum, minimum and mid-value of a parameter of a monitoring-fx.

returns nil in case of an error

Parameters:
integer fxindex the index of the monitoring-fx; 1-based
integer paramindex the parameter, whose value you want to retrieve; 1-based
optional integer tracknumber the tracknumber, whose inputFX-param-states you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
number curval the current value of the parameter
number minval the minimum value of this parameter
number maxval the maximum value of this parameter
number midval the mid-value of this parameter



^ Reaper version 6.02 Ultraschall version 4.2InputFX_GetParamName

Functioncall:
Lua: boolean retval, string paramname = ultraschall.InputFX_GetParamName(integer fxindex, integer paramindex, optional integer tracknumber)

Description:

returns the name of a parameter of a monitoring-fx.

returns false in case of an error

Parameters:
integer fxindex the index of the monitoring-fx; 1-based
integer paramindex the parameter, whose name you want to retrieve; 1-based
optional integer tracknumber the tracknumber, whose inputFX-parameter-name you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
boolean retval true, name can be returned; false, name cannot be returned
string paramname the name of the parameter



^ Reaper version 6.02 Ultraschall version 4.2InputFX_GetParamNormalized

Functioncall:
Lua: integer normalized_value = ultraschall.InputFX_GetParamNormalized(integer fxindex, integer paramindex, optional integer tracknumber)

Description:

returns the value of a parameter of a monitoring-fx in a normalized state.

returns nil in case of an error

Parameters:
integer fxindex the index of the monitoring-fx; 1-based
integer paramindex the parameter, whose normalized value you want to retrieve; 1-based
optional integer tracknumber the tracknumber, whose inputFX-param-normalized-state you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
integer normalized_value the normalized version of the current value



^ Reaper version 6.02 Ultraschall version 4.2InputFX_GetParameterStepSizes

Functioncall:
Lua: boolean retval, number step, number smallstep, number largestep, boolean istoggle = ultraschall.InputFX_GetParameterStepSizes(integer fxindex, integer paramindex, optional integer tracknumber)

Description:

returns the stepsizes of a parameter of a monitoring-fx.

Commonly used for JSFX and VideoProcessor.

returns false in case of an error

Parameters:
integer fxindex the index of the monitoring-fx; 1-based
integer paramindex the parameter, whose values you want to retrieve; 1-based
optional integer tracknumber the tracknumber, whose inputFX-parameter-stepsizes you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
boolean retval true, stepsize is available; false; stepsize is not available; nil, in case of an error
number step the stepsize of this parameter
number smallstep the stepsize of a small step of this parameter
number largestep the stepsize of a large step of this parameter
boolean istoggle true, this parameter is a toggle parameter; false, this parameter is not a togle parameter



^ Reaper version 6.02 Ultraschall version 4.2InputFX_GetPinMappings

Functioncall:
Lua: integer pinmappings_Lo32Bit, integer pinmappings_Hi32Bit = ultraschall.InputFX_GetPinMappings(integer fxindex, integer isoutput, integer pin, optional integer tracknumber)

Description:

returns the pinmappings as bitfield of a parameter of a monitoring-fx.

returns nil in case of an error

Parameters:
integer fxindex the index of the monitoring-fx; 1-based
integer isoutput 0, for querying input pins; 1, for querying output pins
integer pin the pin requested, like 0(left), 1(right), etc.
optional integer tracknumber the tracknumber, whose inputFX-pinmappings you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
integer pinmappings_Lo32Bit a bitmask for the first 32 connectors, where each bit represents, if this pin is connected(1) or not(0)
integer pinmappings_Hi32Bit a bitmask for the second 32 connectors, where each bit represents, if this pin is connected(1) or not(0)



^ Reaper version 6.05 Ultraschall version 4.2InputFX_GetPreset

Functioncall:
Lua: boolean retval, string preset = ultraschall.InputFX_GetPreset(integer fxindex, optional integer tracknumber)

Description:

returns the currently selected preset of a monitoring-fx

returns false in case of an error

Parameters:
integer fxindex the index of the monitoring-fx, whose currently selected presetname-state you want to query; 1-based
optional integer tracknumber the tracknumber, whose inputFX-preset you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
boolean retval true, fx exists; false, fx does not exist
string preset the name of the currently selected preset; "", if no preset is selected



^ Reaper version 6.05 Ultraschall version 4.2InputFX_GetPresetIndex

Functioncall:
Lua: integer selected_preset, integer number_of_presets = ultraschall.InputFX_GetPresetIndex(integer fxindex, optional integer tracknumber)

Description:

returns the index of the currently selected preset of a monitoring-fx as well as the number of available presets

returns -1 in case of an error

Parameters:
integer fxindex the index of the monitoring-fx, whose currently selected preset-index you want to query; 1-based
optional integer tracknumber the tracknumber, whose inputFX-preset you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
integer selected_preset the index of the currently selected preset; 0, if no preset is selected
integer number_of_presets the number of presets available



^ Reaper version 6.05 Ultraschall version 4.2InputFX_GetUserPresetFilename

Functioncall:
Lua: string preset_filename = ultraschall.InputFX_GetUserPresetFilename(integer fxindex, optional integer tracknumber)

Description:

returns the filename of the presetfile, into which the preset's-settings are stored

returns nil in case of an error

Parameters:
integer fxindex the index of the monitoring-fx, whose preset's-filename you want to query; 1-based
optional integer tracknumber the tracknumber, whose inputFX-preset-filename you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
string preset_filename the filename of the preset-file; nil, of not existing



^ Reaper version 6.05 Ultraschall version 4.2InputFX_MoveFX

Functioncall:
Lua: boolean retval = ultraschall.InputFX_MoveFX(integer old_fxindex, integer new_fxindex, optional integer tracknumber_source, optional integer tracknumber_target)

Description:

Moves a monitoring-fx from an old to a new position

returns false in case of an error

Parameters:
integer old_fxindex the index of the input-fx to be moved; 1-based
integer new_fxindex the new position of the input-fx; 1-based
optional integer tracknumber_source the tracknumber of the track, from whose inputFX you want to move the fx; 1-based; nil, master-track
optional integer tracknumber_target the tracknumber of the track, to which you want to move the inputFX; 1-based; nil, master-track

Returnvalues:
boolean retval true, moving was successful; false, moving was unsuccessful



^ Reaper version 6.05 Ultraschall version 4.2InputFX_MoveFXFromTakeFX

Functioncall:
Lua: integer dest_fx = ultraschall.InputFX_MoveFXFromTakeFX(MediaItem_Take take, integer src_fx, integer dest_fx, optional integer dest_tracknumber)

Description:

moves a takeFX to monitoringFX

returns -1 in case of an error

Parameters:
MediaItem_Take take the take, from which you want to move the takeFX
integer src_fx the index takeFX that shall be movd; 1-based
integer dest_fx the index, at which you want to insert the fx into the monitoring FXChain; 1-based
optional integer dest_tracknumber the tracknumber, to which you want to move a new inputFX; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
integer dest_fx the index of the inserted FX, just in case it differs; 1-based



^ Reaper version 6.05 Ultraschall version 4.2InputFX_MoveFXFromTrackFX

Functioncall:
Lua: integer retval = ultraschall.InputFX_MoveFXFromTrackFX(MediaTrack track, integer old_fxindex, integer new_fxindex, optional integer tracknumberInputFX)

Description:

Moves a trackfx to monitoring-fx at a certain position

returns -1 in case of an error

Parameters:
MediaTrack track the track from which you want to copy a trackfx to monitoring-fx
integer old_fxindex the index of the monitoring-fx to be moved; 1-based
integer new_fxindex the position of the newly inserted input-fx; 1-based
optional integer tracknumberInputFX the tracknumber, to whose inputFX the fx shall be moved to; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
integer retval the index of the inserted fx(in case of being different from new_fxindex); -1, in case of an error



^ Reaper version 6.05 Ultraschall version 4.2InputFX_MoveFXToTakeFX

Functioncall:
Lua: integer dest_fx = ultraschall.InputFX_MoveFXToTakeFX(integer src_fx, MediaItem_Take take, integer dest_fx)

Description:

moves a monitoring-FX to a takeFX

returns -1 in case of an error

Parameters:
integer src_fx the index inputFX that shall be moved; 1-based
MediaItem_Take take the take, into which you want to insert the fx as takeFX
integer dest_fx the index, at which you want to insert the fx; 1-based
optional integer src_tracknumber the tracknumber, whose inputFX you want to move; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
integer dest_fx the index of the inserted FX, just in case it differs; 1-based



^ Reaper version 6.05 Ultraschall version 4.2InputFX_MoveFXToTrackFX

Functioncall:
Lua: integer retval = ultraschall.InputFX_MoveFXToTrackFX(integer old_fxindex, MediaTrack track, integer new_fxindex)

Description:

moves a monitoring-fx and inserts it as trackfx at a certain position

returns -1 in case of an error

Parameters:
integer old_fxindex the index of the monitoring-fx to be moved; 1-based
MediaTrack track the track into which you want to insert the trackFX
integer new_fxindex the position of the newly inserted track-fx; 1-based

Returnvalues:
integer retval the index of the inserted fx(in case of being different from new_fxindex); -1, in case of an error



^ Reaper version 6.05 Ultraschall version 4.2InputFX_NavigatePresets

Functioncall:
Lua: boolean retval = ultraschall.InputFX_NavigatePresets(integer fxindex, integer presetmove, optional integer tracknumber)

Description:

switches the preset of a monitoring-fx through, relative from its current preset-index.
You can move by multiple presets, so 1 moves one further, 2 moves 2 further, -3 moves 3 backwards.

If you hit the first/last preset, it will go back to the last/first preset respectively.

returns false in case of an error

Parameters:
integer fxindex the index of the monitoring-fx, whose preset you want to switch through; 1-based
integer presetmove positive, move forward by value of presetmove; negative, move backwards by value of presetmove
optional integer tracknumber the tracknumber, whose inputFX-preset you want to navigate; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
boolean retval true, altering was successful; false, altering was unsuccessful



^ Reaper version 6.05 Ultraschall version 4.2InputFX_QueryFirstFXIndex

Functioncall:
Lua: integer fxindex = ultraschall.InputFX_QueryFirstFXIndex(string fxname, optional integer tracknumber)

Description:

Queries the fx-index of the first inputfx with fxname

returns -1 in case of an error

Parameters:
string fxname the name of the fx to be queried
optional integer tracknumber the tracknumber, to whose inputFX the fx shall be added; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
integer fxindex the index of the queried fx; 1-based; -1, in case of an error



^ Reaper version 6.02 Ultraschall version 4.2InputFX_SetEQBandEnabled

Functioncall:
Lua: boolean retval = ultraschall.InputFX_SetEQBandEnabled(integer fxindex, integer bandtype, integer bandidx, boolean enable, optional integer tracknumber)

Description:

Enable or disable a ReaEQ band of a monitoring-fx.

returns false in case of an error

Parameters:
integer fxindex the index of the monitoring-fx; 1-based
integer bandtype the bandtype of the band to change; 0, lhipass 1, loshelf 2, band 3, notch 4, hishelf 5, lopass
integer bandidx 0, first band matching bandtype; 1, 2nd band matching bandtype, etc.
boolean enable true, enable band; false, disable band
optional integer tracknumber the tracknumber, whose inputFX-eq-band-enabled-state you want to set; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.02 Ultraschall version 4.2InputFX_SetEQParam

Functioncall:
Lua: boolean retval = ultraschall.InputFX_SetEQParam(integer fxindex, integer bandtype, integer bandidx, integer paramtype, number val, boolean isnorm)

Description:

Sets an EQ-parameter of a ReaEQ-instance in monitoring-fx

returns false in case of an error

Parameters:
integer fxindex the index of the monitoring-fx; 1-based
integer bandtype the bandtype of the band to change; 0, lhipass 1, loshelf 2, band 3, notch 4, hishelf 5, lopass
integer bandidx 0, first band matching bandtype; 1, 2nd band matching bandtype, etc.
integer paramtype 0, freq; 1, gain; 2, Q
number val the new value for the paramtype of a bandidx
boolean isnorm true, value is normalized; false, value is not normalized
optional integer tracknumber the tracknumber, whose inputFX-eq-param-state you want to set; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.05 Ultraschall version 4.2InputFX_SetEnabled

Functioncall:
Lua: boolean retval = ultraschall.InputFX_SetEnabled(integer fxindex, boolean enabled, optional integer tracknumber)

Description:

Sets a monitoring-fx to enabled.

returns false in case of an error

Parameters:
integer fxindex the index of the monitoring-fx which you want to disable/enable; 1-based
boolean enabled true, enable the monitoring-fx; false, disable the monitoring-fx
optional integer tracknumber the tracknumber, whose inputFX-enabled-state you want to set; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.02 Ultraschall version 4.2InputFX_SetFXChain

Functioncall:
Lua: boolean retval = ultraschall.InputFX_SetFXChain(string FXStateChunk, boolean replacefx, optional integer tracknumber)

Description:

Inserts an FXStateChunk into the monitoring-fx-chain. Allows replacing it as well.

This could potentially create hiccups in the audio-engine of Reaper.

returns false in case of an error

Parameters:
string FXStateChunk the FXStateChunk that shall be set as monitoring fx-chain
boolean replacefx true, replace the current monitoring-fx-chain with the new one; false, only insert the new fx at the end of the FXChain
optional integer tracknumber the track, whose inputFX-chain you want to set; 0 or nil, global monitoring fx

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.05 Ultraschall version 4.2InputFX_SetOffline

Functioncall:
Lua: boolean retval = ultraschall.InputFX_SetOffline(integer fxindex, boolean offline, optional integer tracknumber)

Description:

Sets a monitoring-fx to online/offline.

returns false in case of an error

Parameters:
integer fxindex the index of the monitoring-fx which you want to set offline/online; 1-based
boolean offline true, set the monitoring-fx offline; false, set the monitoring-fx online
optional integer tracknumber the tracknumber, whose inputFX-offline-state you want to set; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.05 Ultraschall version 4.2InputFX_SetOpen

Functioncall:
Lua: boolean retval = ultraschall.InputFX_SetOpen(integer fxindex, boolean open, optional integer tracknumber)

Description:

Sets a monitoring-fx visible of invisible

If you change the index while open=true, the visible fx will change to the new one.

Setting open=false closes the monitoring-fx-chain, open=true will open the monitoring-fx-chain if not visible yet.

returns false in case of an error

Parameters:
integer fxindex the index of the monitoring-fx which you want to visible/invisible; 1-based
boolean open true, set the monitoring-fx visible; false, set the monitoring-fx invisible
optional integer tracknumber the tracknumber, whose inputFX-visibility-state you want to set; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.02 Ultraschall version 4.2InputFX_SetParam

Functioncall:
Lua: boolean retval = ultraschall.InputFX_SetParam(integer fxindex, index parameterindex, number val, optional integer tracknumber)

Description:

Sets a new value of a parameter of a monitoring-fx

returns false in case of an error

Parameters:
integer fxindex the index of the monitoring-fx; 1-based
index parameterindex the index of the parameter to be set; 1-based
number val the new value to set
optional integer tracknumber the tracknumber, whose inputFX-param-state you want to set; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.02 Ultraschall version 4.2InputFX_SetParamNormalized

Functioncall:
Lua: boolean retval = ultraschall.InputFX_SetParamNormalized(integer fxindex, index parameterindex, number val, optional integer tracknumber)

Description:

Sets a new value as normalized of a parameter of a monitoring-fx

returns false in case of an error

Parameters:
integer fxindex the index of the monitoring-fx; 1-based
index parameterindex the index of the parameter to be set; 1-based
number val the new value to set
optional integer tracknumber the tracknumber, whose inputFX-parameter you want to set normalized; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.02 Ultraschall version 4.2InputFX_SetPinMappings

Functioncall:
Lua: boolean retval = ultraschall.InputFX_SetPinMappings(integer fxindex, integer isoutput, integer pin, integer low32bits, integer hi32bits, optional integer tracknumber)

Description:

sets the pinmappings as bitfield of a parameter of a monitoring-fx.

returns false in case of an error or if unsupported (not all types of plug-ins support this capability)

Parameters:
integer fxindex the index of the monitoring-fx; 1-based
integer isoutput 0, for querying input pins; 1, for querying output pins
integer pin the pin requested, like 0(left), 1(right), etc.
integer pinmappings_Lo32Bit a bitmask for the first 32 connectors, where each bit represents, if this pin is connected(1) or not(0)
integer pinmappings_Hi32Bit a bitmask for the second 32 connectors, where each bit represents, if this pin is connected(1) or not(0)
optional integer tracknumber the tracknumber, whose inputFX-pinmappings you want to set; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.05 Ultraschall version 4.2InputFX_SetPreset

Functioncall:
Lua: boolean retval = ultraschall.InputFX_SetPreset(integer fxindex, string presetname)

Description:

Sets the preset of a monitoring-fx by presetname.

returns false in case of an error

Parameters:
integer fxindex the index of the monitoring-fx of which you want to set the preset; 1-based
string presetname the name of the preset, that you want to select
optional integer tracknumber the tracknumber, whose inputFX-preset you want to set; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.05 Ultraschall version 4.2InputFX_SetPresetByIndex

Functioncall:
Lua: boolean retval = ultraschall.InputFX_SetPresetByIndex(integer fxindex, integer presetindex, optional integer tracknumber)

Description:

Sets the preset of a monitoring-fx by preset-index.

returns false in case of an error

Parameters:
integer fxindex the index of the monitoring-fx which you want to set the preset; 1-based
integer presetindex the index of the preset, that you want to select; 0, for default; -1, for no preset; 1-based
optional integer tracknumber the tracknumber, whose inputFX-preset you want to set; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.05 Ultraschall version 4.2InputFX_Show

Functioncall:
Lua: boolean retval = ultraschall.InputFX_Show(integer fxindex, integer showflag, optional integer tracknumber)

Description:

Sets visibility and floating-state of a monitoring-fx

returns false in case of an error

Parameters:
integer fxindex the index of the monitoring-fx which you want to set the preset; 1-based
integer showflag 0, for hidechain 1, for show chain(index valid) 2, for hide floating window (index valid) 3, for show floating window (index valid)
optional integer tracknumber the tracknumber, whose inputFX-shown-state you want to set; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful




^ Reaper version 5.979 Ultraschall version 4.1AddParmAlias_FXStateChunk

Functioncall:
Lua: boolean retval, optional string alteredFXStateChunk = ultraschall.AddParmAlias_FXStateChunk(string FXStateChunk, integer fxid, integer parmidx, string parmalias)

Description:

Adds a new Parm-Alias-entry to an FX-plugin from an FXStateChunk.

It's the PARMALIAS-entry

returns false in case of an error

Parameters:
string FXStateChunk the FXStateChunk, in which you want to set a Parm-Alias-entry
integer fxid the id of the fx, which holds the to-set-Parm-Alias-entry; beginning with 1
integer parmidx the parameter, whose alias you want to add
string parmalias the new aliasname of the parameter

Returnvalues:
boolean retval true, if setting new values was successful; false, if setting was unsuccessful(e.g. no such ParmLearn)
optional string alteredFXStateChunk the altered FXStateChunk



^ Reaper version 5.979 Ultraschall version 4.00CountParmAlias_FXStateChunk

Functioncall:
Lua: integer count = ultraschall.CountParmAlias_FXStateChunk(string FXStateChunk, integer fxid)

Description:

Counts already existing Parm-Alias-entries of an FX-plugin from an FXStateChunk.

It's the PARMALIAS-entry

returns -1 in case of an error

Parameters:
string FXStateChunk the FXStateChunk, in which you want to count a Parm-Learn-entry
integer fxid the id of the fx, which holds the to-count-Parm-Learn-entry; beginning with 1

Returnvalues:
integer count the number of ParmAliases found



^ Reaper version 5.979 Ultraschall version 4.1DeleteParmAlias2_FXStateChunk

Functioncall:
Lua: boolean retval, string alteredFXStateChunk = ultraschall.DeleteParmAlias2_FXStateChunk(string FXStateChunk, integer fxid, integer parmidx)

Description:

Deletes a ParmAlias-entry from an FXStateChunk.

It's the PARMALIAS-entry

Unlike DeleteParmAlias_FXStateChunk, this indexes aliasnames by parameter-index directly, not by number of already existing aliasnames.
When in doubt, use this one.

returns false in case of an error

Parameters:
string FXStateChunk the FXStateChunk, which you want to delete a ParmAlias from
integer fxid the id of the fx, which holds the to-delete-ParmAlias-entry; beginning with 1
integer parmidx the id of the parameter, whose parmalias you want to delete; beginning with 1

Returnvalues:
boolean retval true, if deletion was successful; false, if the function couldn't delete anything
string alteredFXStateChunk the altered FXStateChunk



^ Reaper version 5.979 Ultraschall version 4.00DeleteParmAlias_FXStateChunk

Functioncall:
Lua: boolean retval, string alteredFXStateChunk = ultraschall.DeleteParmAlias_FXStateChunk(string FXStateChunk, integer fxid, integer id)

Description:

Deletes a ParmAlias-entry from an FXStateChunk.

It's the PARMALIAS-entry

returns false in case of an error

Parameters:
string FXStateChunk the FXStateChunk, which you want to delete a ParmAlias from
integer fxid the id of the fx, which holds the to-delete-ParmAlias-entry; beginning with 1
integer id the id of the ParmAlias-entry to delete; beginning with 1

Returnvalues:
boolean retval true, if deletion was successful; false, if the function couldn't delete anything
string alteredFXStateChunk the altered FXStateChunk



^ Reaper version 5.979 Ultraschall version 4.1GetAllParmAliasNames_FXStateChunk

Functioncall:
Lua: integer count_aliasnames, array parameteridx, array parameter_aliasnames = ultraschall.GetAllParmAliasNames_FXStateChunk(string FXStateChunk, integer fxid)

Description:

Returns all aliasnames of a specific fx within an FXStateChunk

returns -1 in case of an error

Parameters:
string FXStateChunk the FXStateChunk, from which you want to get all Parm-Aliases
integer fxid the id of the fx, whose Parm-Aliases you want to get

Returnvalues:
integer count_aliasnames the number of parameter-aliases found for this fx
array parameteridx an array, which holds all parameter-index-numbers of all fx with parameter-aliasnames
array parameter_aliasnames an array with all parameter-aliasnames found



^ Reaper version 5.975 Ultraschall version 4.1GetParmAlias2_FXStateChunk

Functioncall:
Lua: integer parm_idx, string parm_aliasname = ultraschall.GetParmAlias2_FXStateChunk(string FXStateChunk, integer fxid, integer id)

Description:

Returns a parameter-alias-setting of a specific parameter from an FXStateChunk
An FXStateChunk holds all FX-plugin-settings for a specific MediaTrack or MediaItem.

Parameter-aliases are only stored for MediaTracks.

It is the PARMALIAS-entry

Returns nil in case of an error or if no such aliasname has been found

Parameters:
string FXStateChunk the FXStateChunk, from which you want to retrieve the ParmAlias-settings
integer fxid the fx, of which you want to get the parameter-alias-settings
integer parmidx the id of the parameter whose aliasname you want to have, starting with 1 for the first

Returnvalues:
integer parm_idx the idx of the parameter; order is exactly like the order in the contextmenu of Parameter List -> Learn
string parm_aliasname the alias-name of the parameter



^ Reaper version 5.975 Ultraschall version 4.00GetParmAlias_FXStateChunk

Functioncall:
Lua: integer parm_idx, string parm_aliasname = ultraschall.GetParmAlias_FXStateChunk(string FXStateChunk, integer fxid, integer id)

Description:

Returns a parameter-alias-setting from an FXStateChunk
An FXStateChunk holds all FX-plugin-settings for a specific MediaTrack or MediaItem.

Parameter-aliases are only stored for MediaTracks.

It is the PARMALIAS-entry

Returns nil in case of an error

Parameters:
string FXStateChunk the FXStateChunk, from which you want to retrieve the ParmAlias-settings
integer fxid the fx, of which you want to get the parameter-alias-settings
integer id the id of the ParmAlias-settings you want to have, starting with 1 for the first

Returnvalues:
integer parm_idx the idx of the parameter; order is exactly like the order in the contextmenu of Parameter List -> Learn
string parm_aliasname the alias-name of the parameter



^ Reaper version 5.975 Ultraschall version 4.1GetParmAlias_MediaTrack

Functioncall:
Lua: integer parm_idx, string parm_aliasname = ultraschall.GetParmAlias_MediaTrack(MediaTrack MediaTrack, integer fxid, integer id)

Description:

Returns a parameter-aliasname-setting from a MediaTrack

It is the PARMALIAS-entry

Returns nil in case of an error

Parameters:
MediaTrack MediaTrack the MediaTrack, whose ParmAlias-setting you want to get
integer fxid the fx, of which you want to get the parameter-alias-settings
integer id the id of the ParmAlias-settings you want to have, starting with 1 for the first

Returnvalues:
integer parm_idx the idx of the parameter; order is exactly like the order in the contextmenu of Parameter List -> Learn
string parm_aliasname the alias-name of the parameter



^ Reaper version 5.979 Ultraschall version 4.1SetParmAlias2_FXStateChunk

Functioncall:
Lua: boolean retval, optional string alteredFXStateChunk = ultraschall.SetParmAlias2_FXStateChunk(string FXStateChunk, integer fxid, integer parmidx, string parmalias)

Description:

Sets an already existing Parm-Learn-entry of an FX-plugin from an FXStateChunk.

Unlike SetParmAlias_FXStateChunk, the parameter parmidx counts by parameter-order, not existing aliasnames. If a parameter has no aliasname yet, it will return false.

It's the PARMALIAS-entry



returns false in case of an error

Parameters:
string FXStateChunk the FXStateChunk, in which you want to set a Parm-Alias-entry
integer fxid the id of the fx, which holds the to-set-Parm-Alias-entry; beginning with 1
integer parmidx the index of the parameter, whose Parm-Alias-entry you want to to set; beginning with 1
string parmalias the new aliasname of the parameter

Returnvalues:
boolean retval true, if setting new values was successful; false, if setting was unsuccessful(e.g. no such ParmLearn)
optional string alteredFXStateChunk the altered FXStateChunk



^ Reaper version 5.979 Ultraschall version 4.1SetParmAlias_FXStateChunk

Functioncall:
Lua: boolean retval, optional string alteredFXStateChunk = ultraschall.SetParmAlias_FXStateChunk(string FXStateChunk, integer fxid, integer id, string parmalias)

Description:

Sets an already existing Parm-Learn-entry of an FX-plugin from an FXStateChunk.

It's the PARMALIAS-entry

The parameter id counts with the first aliasname found in the FXStateChunk for this fx, regardless, if the first found aliasname is for parameter 1 or 23, etc. If you want to adress it by parameter-index, use SetParmAlias2_FXStateChunk instead.

returns false in case of an error


Parameters:
string FXStateChunk the FXStateChunk, in which you want to set a Parm-Alias-entry
integer fxid the id of the fx, which holds the to-set-Parm-Alias-entry; beginning with 1
integer id the id of the Parm-Alias-entry to set; beginning with 1
string parmalias the new aliasname of the parameter

Returnvalues:
boolean retval true, if setting new values was successful; false, if setting was unsuccessful(e.g. no such ParmLearn)
optional string alteredFXStateChunk the altered FXStateChunk




^ Reaper version 5.979 Ultraschall version 4.00AddParmLFOLearn_FXStateChunk

Functioncall:
Lua: boolean retval, optional string alteredFXStateChunk = ultraschall.AddParmLFOLearn_FXStateChunk(string FXStateChunk, integer fxid, integer parmidx, string parmname, integer midi_note, integer checkboxflags, optional string osc_message)

Description:

Adds a new Parm-LFOLearn-entry to an FX-plugin from an FXStateChunk.

It's the LFOLEARN-entry

returns false in case of an error

Parameters:
string FXStateChunk the FXStateChunk, in which you want to set a Parm-Learn-entry
integer fxid the id of the fx, which holds the to-set-Parm-Learn-entry; beginning with 1
integer parmidx the parameter, whose alias you want to add
string parmname the name of the parameter, usually \"\" or \"byp\" for bypass or \"wet\" for wet; when using wet or bypass, these are essential to give!
integer midi_note the midinote, that is assigned to this; this is a multibyte value, with the first byte being the MIDI-mode, and the second byte the MIDI/CC-note 0, OSC is used 176, MIDI Chan 1 CC 0 (Byte1=176, Byte2=0) ... 432, MIDI Chan 1 CC 1 (Byte1=176, Byte2=1) ... 144, MIDI Chan 1 Note 1 (Byte1=144, Byte2=0) 400, MIDI Chan 1 Note 1 (Byte1=144, Byte2=1) ... 9360, MIDI Chan 1 Note 36 (Byte1=144, Byte2=36) 9616, MIDI Chan 1 Note 37 (Byte1=144, Byte2=37) 9872, MIDI Chan 1 Note 38 (Byte1=144, Byte2=38) ... CC Mode-dropdownlist: set the following flags to their specific values (0=0, 1=the value beginning &, like &65536 or &131072 or &262144) &65536 &131072 &262144 0 0 0, Absolute 1 0 0, Relative 1(127=-1, 1=+1) 0 1 0, Relative 2(63=-1, 65=+1) 1 1 0, Relative 3(65=-1, 1=+1) 0 0 1, Toggle (>0=toggle)
integer checkboxflags the checkboxes checked in the MIDI/OSC-learn dialog 0, no checkboxes 1, enable only when track or item is selected 2, Soft takeover (absolute mode only) 3, Soft takeover (absolute mode only)+enable only when track or item is selected 4, enable only when effect configuration is focused 20, enable only when effect configuration is visible
optional string osc_message the osc-message, that triggers the ParmLFOLearn, only when midi_note is set to 0!

Returnvalues:
boolean retval true, if setting new values was successful; false, if setting was unsuccessful(e.g. no such ParmLearn)
optional string alteredFXStateChunk the altered FXStateChunk



^ Reaper version 5.979 Ultraschall version 4.00CountParmLFOLearn_FXStateChunk

Functioncall:
Lua: integer count = ultraschall.CountParmLFOLearn_FXStateChunk(string FXStateChunk, integer fxid)

Description:

Counts already existing Parm-LFOLearn-entries of an FX-plugin from an FXStateChunk.

It's the LFOLEARN-entry

returns -1 in case of an error

Parameters:
string FXStateChunk the FXStateChunk, in which you want to count a Parm-LFOLearn-entry
integer fxid the id of the fx, which holds the to-count-Parm-LFOLearn-entry; beginning with 1

Returnvalues:
integer count the number of LFOLearn-entries found



^ Reaper version 5.979 Ultraschall version 4.00DeleteParmLFOLearn_FXStateChunk

Functioncall:
Lua: boolean retval, string alteredFXStateChunk = ultraschall.DeleteParmLFOLearn_FXStateChunk(string FXStateChunk, integer fxid, integer id)

Description:

Deletes a ParmLFO-Learn-entry from an FXStateChunk.

It's the LFOLEARN-entry

returns false in case of an error

Parameters:
string FXStateChunk the FXStateChunk, which you want to delete a ParmLFO-Learn-entry from
integer fxid the id of the fx, which holds the to-delete-ParmLFO-Learn-entry; beginning with 1
integer id the id of the ParmLFO-Learn-entry to delete; beginning with 1

Returnvalues:
boolean retval true, if deletion was successful; false, if the function couldn't delete anything
string alteredFXStateChunk the altered FXStateChunk



^ Reaper version 5.975 Ultraschall version 4.00GetParmLFOLearn_FXStateChunk

Functioncall:
Lua: integer parm_idx, string parmname, integer midi_note, integer checkboxflags, optional string osc_message = ultraschall.GetParmLFOLearn_FXStateChunk(string FXStateChunk, integer fxid, integer id)

Description:

Returns a parameter-lfo-learn-setting from an FXStateChunk
An FXStateChunk holds all FX-plugin-settings for a specific MediaTrack or MediaItem.

It is the LFOLEARN-entry

Returns nil in case of an error

Parameters:
string FXStateChunk the FXStateChunk, from which you want to retrieve the ParmLFOLearn-settings
integer fxid the fx, of which you want to get the parameter-lfo-learn-settings
integer id the id of the ParmLFOLearn-settings you want to have, starting with 1 for the first

Returnvalues:
integer parm_idx the idx of the parameter; order is exactly like the order in the contextmenu of Parameter List -> Learn
string parmname the name of the parameter, though usually only wet or bypass
integer midi_note the midinote, that is assigned to this; this is a multibyte value, with the first byte being the MIDI-mode, and the second byte the MIDI/CC-note 0, OSC is used 176, MIDI Chan 1 CC 0 (Byte1=176, Byte2=0) ... 432, MIDI Chan 1 CC 1 (Byte1=176, Byte2=1) ... 144, MIDI Chan 1 Note 1 (Byte1=144, Byte2=0) 400, MIDI Chan 1 Note 1 (Byte1=144, Byte2=1) ... 9360, MIDI Chan 1 Note 36 (Byte1=144, Byte2=36) 9616, MIDI Chan 1 Note 37 (Byte1=144, Byte2=37) 9872, MIDI Chan 1 Note 38 (Byte1=144, Byte2=38) ... CC Mode-dropdownlist: set the following flags to their specific values (0=0, 1=the value beginning &, like &65536 or &131072 or &262144) &65536 &131072 &262144 0 0 0, Absolute 1 0 0, Relative 1(127=-1, 1=+1) 0 1 0, Relative 2(63=-1, 65=+1) 1 1 0, Relative 3(65=-1, 1=+1) 0 0 1, Toggle (>0=toggle)
integer checkboxflags the checkboxes checked in the MIDI/OSC-learn dialog 0, no checkboxes 1, enable only when track or item is selected 2, Soft takeover (absolute mode only) 3, Soft takeover (absolute mode only)+enable only when track or item is selected 4, enable only when effect configuration is focused 20, enable only when effect configuration is visible
optional string osc_message the osc-message, that triggers the ParmLFOLearn



^ Reaper version 5.975 Ultraschall version 4.00GetParmLFOLearn_MediaItem

Functioncall:
Lua: integer parm_idx, string parmname, integer midi_note, integer checkboxflags, optional string osc_message = ultraschall.GetParmLFOLearn_MediaItem(MediaItem MediaItem, integer fxid, integer id)

Description:

Returns a parameter-lfo-learn-setting from a MediaItem

It is the LFOLEARN-entry

Returns nil in case of an error

Parameters:
MediaItem MediaItem the MediaItem, whose ParmLFOLearn-setting you want to get
integer fxid the fx, of which you want to get the parameter-lfo-learn-settings
integer id the id of the ParmLFOLearn-settings you want to have, starting with 1 for the first

Returnvalues:
integer parm_idx the idx of the parameter; order is exactly like the order in the contextmenu of Parameter List -> Learn
string parmname the name of the parameter, though usually only wet or bypass
integer midi_note the midinote, that is assigned to this; this is a multibyte value, with the first byte being the MIDI-mode, and the second byte the MIDI/CC-note 0, OSC is used 176, MIDI Chan 1 CC 0 (Byte1=176, Byte2=0) ... 432, MIDI Chan 1 CC 1 (Byte1=176, Byte2=1) ... 144, MIDI Chan 1 Note 1 (Byte1=144, Byte2=0) 400, MIDI Chan 1 Note 1 (Byte1=144, Byte2=1) ... 9360, MIDI Chan 1 Note 36 (Byte1=144, Byte2=36) 9616, MIDI Chan 1 Note 37 (Byte1=144, Byte2=37) 9872, MIDI Chan 1 Note 38 (Byte1=144, Byte2=38) ... CC Mode-dropdownlist: set the following flags to their specific values (0=0, 1=the value beginning &, like &65536 or &131072 or &262144) &65536 &131072 &262144 0 0 0, Absolute 1 0 0, Relative 1(127=-1, 1=+1) 0 1 0, Relative 2(63=-1, 65=+1) 1 1 0, Relative 3(65=-1, 1=+1) 0 0 1, Toggle (>0=toggle)
integer checkboxflags the checkboxes checked in the MIDI/OSC-learn dialog 0, no checkboxes 1, enable only when track or item is selected 2, Soft takeover (absolute mode only) 3, Soft takeover (absolute mode only)+enable only when track or item is selected 4, enable only when effect configuration is focused 20, enable only when effect configuration is visible
optional string osc_message the osc-message, that triggers the ParmLFOLearn



^ Reaper version 5.975 Ultraschall version 4.00GetParmLFOLearn_MediaTrack

Functioncall:
Lua: integer parm_idx, string parmname, integer midi_note, integer checkboxflags, optional string osc_message = ultraschall.GetParmLFOLearn_MediaTrack(MediaTrack MediaTrack, integer fxid, integer id)

Description:

Returns a parameter-lfo-learn-setting from a MediaTrack

It is the LFOLEARN-entry

Returns nil in case of an error

Parameters:
MediaTrack MediaTrack the MediaTrack, whose ParmLFOLearn-setting you want to get
integer fxid the fx, of which you want to get the parameter-lfo-learn-settings
integer id the id of the ParmLFOLearn-settings you want to have, starting with 1 for the first

Returnvalues:
integer parm_idx the idx of the parameter; order is exactly like the order in the contextmenu of Parameter List -> Learn
string parmname the name of the parameter, though usually only wet or bypass
integer midi_note the midinote, that is assigned to this; this is a multibyte value, with the first byte being the MIDI-mode, and the second byte the MIDI/CC-note 0, OSC is used 176, MIDI Chan 1 CC 0 (Byte1=176, Byte2=0) ... 432, MIDI Chan 1 CC 1 (Byte1=176, Byte2=1) ... 144, MIDI Chan 1 Note 1 (Byte1=144, Byte2=0) 400, MIDI Chan 1 Note 1 (Byte1=144, Byte2=1) ... 9360, MIDI Chan 1 Note 36 (Byte1=144, Byte2=36) 9616, MIDI Chan 1 Note 37 (Byte1=144, Byte2=37) 9872, MIDI Chan 1 Note 38 (Byte1=144, Byte2=38) ... CC Mode-dropdownlist: set the following flags to their specific values (0=0, 1=the value beginning &, like &65536 or &131072 or &262144) &65536 &131072 &262144 0 0 0, Absolute 1 0 0, Relative 1(127=-1, 1=+1) 0 1 0, Relative 2(63=-1, 65=+1) 1 1 0, Relative 3(65=-1, 1=+1) 0 0 1, Toggle (>0=toggle)
integer checkboxflags the checkboxes checked in the MIDI/OSC-learn dialog 0, no checkboxes 1, enable only when track or item is selected 2, Soft takeover (absolute mode only) 3, Soft takeover (absolute mode only)+enable only when track or item is selected 4, enable only when effect configuration is focused 20, enable only when effect configuration is visible
optional string osc_message the osc-message, that triggers the ParmLFOLearn



^ Reaper version 5.979 Ultraschall version 4.00SetParmLFOLearn_FXStateChunk

Functioncall:
Lua: boolean retval, optional string alteredFXStateChunk = ultraschall.SetParmLFOLearn_FXStateChunk(string FXStateChunk, integer fxid, integer id, integer midi_note, integer checkboxflags, optional string osc_message)

Description:

Sets an already existing ParmLFO-Learn-entry of an FX-plugin from an FXStateChunk.

It's the LFOLEARN-entry

returns false in case of an error

Parameters:
string FXStateChunk the FXStateChunk, in which you want to set a ParmLFO-Learn-entry
integer fxid the id of the fx, which holds the to-set-ParmLFO-Learn-entry; beginning with 1
integer id the id of the ParmLFO-Learn-entry to set; beginning with 1
integer midi_note the midinote, that is assigned to this; this is a multibyte value, with the first byte being the MIDI-mode, and the second byte the MIDI/CC-note 0, OSC is used 176, MIDI Chan 1 CC 0 (Byte1=176, Byte2=0) ... 432, MIDI Chan 1 CC 1 (Byte1=176, Byte2=1) ... 144, MIDI Chan 1 Note 1 (Byte1=144, Byte2=0) 400, MIDI Chan 1 Note 1 (Byte1=144, Byte2=1) ... 9360, MIDI Chan 1 Note 36 (Byte1=144, Byte2=36) 9616, MIDI Chan 1 Note 37 (Byte1=144, Byte2=37) 9872, MIDI Chan 1 Note 38 (Byte1=144, Byte2=38) ... CC Mode-dropdownlist: set the following flags to their specific values (0=0, 1=the value beginning &, like &65536 or &131072 or &262144) &65536 &131072 &262144 0 0 0, Absolute 1 0 0, Relative 1(127=-1, 1=+1) 0 1 0, Relative 2(63=-1, 65=+1) 1 1 0, Relative 3(65=-1, 1=+1) 0 0 1, Toggle (>0=toggle)
integer checkboxflags the checkboxes checked in the MIDI/OSC-learn dialog 0, no checkboxes 1, enable only when track or item is selected 2, Soft takeover (absolute mode only) 3, Soft takeover (absolute mode only)+enable only when track or item is selected 4, enable only when effect configuration is focused 20, enable only when effect configuration is visible
optional string osc_message the osc-message, that triggers the ParmLFOLearn, only when midi_note is set to 0!

Returnvalues:
boolean retval true, if setting new values was successful; false, if setting was unsuccessful(e.g. no such ParmLFO)
optional string alteredFXStateChunk the altered FXStateChunk




^ Reaper version 5.979 Ultraschall version 4.00AddParmLearn_FXStateChunk

Functioncall:
Lua: boolean retval, optional string alteredFXStateChunk = ultraschall.AddParmLearn_FXStateChunk(string FXStateChunk, integer fxid, integer parmidx, string parmname, integer midi_note, integer checkboxflags, optional string osc_message)

Description:

Adds a new Parm-Learn-entry to an FX-plugin from an FXStateChunk.

It's the PARMLEARN-entry

returns false in case of an error

Parameters:
string FXStateChunk the FXStateChunk, in which you want to set a Parm-Learn-entry
integer fxid the id of the fx, which holds the to-set-Parm-Learn-entry; beginning with 1
integer parmidx the parameter, whose alias you want to add
string parmname the name of the parameter, usually \"\" or \"byp\" for bypass or \"wet\" for wet; when using wet or bypass, these are essential to give, otherwise just pass ""
integer midi_note an integer representation of the MIDI-note, which is set as command; 0, in case of an OSC-message examples: 0, OSC is used 176, MIDI Chan 1 CC 0 ... 432, MIDI Chan 1 CC 1 ... 9360, MIDI Chan 1 Note 36 9616, MIDI Chan 1 Note 37 9872, MIDI Chan 1 Note 38 ... CC Mode-dropdownlist: set the following flags to their specific values (0=0, 1=the value beginning &, like &65536 or &131072 or &262144) &65536 &131072 &262144 0 0 0, Absolute 1 0 0, Relative 1(127=-1, 1=+1) 0 1 0, Relative 2(63=-1, 65=+1) 1 1 0, Relative 3(65=-1, 1=+1) 0 0 1, Toggle (>0=toggle)
integer checkboxflags the checkboxes checked in the MIDI/OSC-learn dialog 0, no checkboxes 1, enable only when track or item is selected 2, Soft takeover (absolute mode only) 3, Soft takeover (absolute mode only)+enable only when track or item is selected 4, enable only when effect configuration is focused 20, enable only when effect configuration is visible
optional string osc_message the osc-message, that triggers the ParmLearn, only when midi_note is set to 0!

Returnvalues:
boolean retval true, if setting new values was successful; false, if setting was unsuccessful(e.g. no such ParmLearn)
optional string alteredFXStateChunk the altered FXStateChunk



^ Reaper version 5.979 Ultraschall version 4.1CountParmLearn_FXStateChunk

Functioncall:
Lua: integer count = ultraschall.CountParmLearn_FXStateChunk(string FXStateChunk, integer fxid)

Description:

Counts already existing Parm-Learn-entries of an FX-plugin from an FXStateChunk.

It's the PARMLEARN-entry

returns -1 in case of an error

Parameters:
string FXStateChunk the FXStateChunk, in which you want to count a Parm-Learn-entry
integer fxid the id of the fx, which holds the to-count-Parm-Learn-entry; beginning with 1

Returnvalues:
integer count the number of ParmLearn-entries found



^ Reaper version 6.02 Ultraschall version 4.2DeleteParmLearn2_FXStateChunk

Functioncall:
Lua: boolean retval, string alteredFXStateChunk = ultraschall.DeleteParmLearn2_FXStateChunk(string FXStateChunk, integer fxid, integer parmidx)

Description:

Deletes a ParmLearn-entry from an FXStateChunk, by parameter index.

Unlike DeleteParmLearn_FXStateChunk, this indexes the parameters not the already existing parmlearns.

returns false in case of an error


Parameters:
string FXStateChunk the FXStateChunk, which you want to delete a ParmLearn from
integer fxid the id of the fx, which holds the to-delete-ParmLearn-entry; beginning with 1
integer parmidx the index of the parameter, whose parmlearn you want to delete; beginning with 1

Returnvalues:
boolean retval true, if deletion was successful; false, if the function couldn't delete anything
string alteredFXStateChunk the altered FXStateChunk



^ Reaper version 5.979 Ultraschall version 4.00DeleteParmLearn_FXStateChunk

Functioncall:
Lua: boolean retval, string alteredFXStateChunk = ultraschall.DeleteParmLearn_FXStateChunk(string FXStateChunk, integer fxid, integer id)

Description:

Deletes a ParmLearn-entry from an FXStateChunk.

Unlike DeleteParmLearn2_FXStateChunk, this indexes by the already existing parmlearns and not by parameters.

returns false in case of an error


Parameters:
string FXStateChunk the FXStateChunk, which you want to delete a ParmLearn from
integer fxid the id of the fx, which holds the to-delete-ParmLearn-entry; beginning with 1
integer id the id of the ParmLearn-entry to delete; beginning with 1

Returnvalues:
boolean retval true, if deletion was successful; false, if the function couldn't delete anything
string alteredFXStateChunk the altered FXStateChunk



^ Reaper version 5.975 Ultraschall version 4.00GetParmLearn_FXStateChunk

Functioncall:
Lua: integer parm_idx, string parmname, integer midi_note, integer checkboxflags, optional string osc_message = ultraschall.GetParmLearn_FXStateChunk(string FXStateChunk, integer fxid, integer id)

Description:

Returns a parameter-learn-setting from an FXStateChunk
An FXStateChunk holds all FX-plugin-settings for a specific MediaTrack or MediaItem.

It is the PARMLEARN-entry

Returns nil in case of an error

Parameters:
string FXStateChunk the FXStateChunk, from which you want to retrieve the ParmLearn-settings
integer fxid the fx, of which you want to get the parameter-learn-settings
integer id the id of the ParmLearn-settings you want to have, starting with 1 for the first

Returnvalues:
integer parm_idx the idx of the parameter; order is exactly like the order in the contextmenu of Parameter List -> Learn
string parmname the name of the parameter, though usually only wet or bypass
integer midi_note the midinote, that is assigned to this; this is a multibyte value, with the first byte being the MIDI-mode, and the second byte the MIDI/CC-note 0, OSC is used 176, MIDI Chan 1 CC 0 (Byte1=176, Byte2=0) ... 432, MIDI Chan 1 CC 1 (Byte1=176, Byte2=1) ... 144, MIDI Chan 1 Note 1 (Byte1=144, Byte2=0) 400, MIDI Chan 1 Note 1 (Byte1=144, Byte2=1) ... 9360, MIDI Chan 1 Note 36 (Byte1=144, Byte2=36) 9616, MIDI Chan 1 Note 37 (Byte1=144, Byte2=37) 9872, MIDI Chan 1 Note 38 (Byte1=144, Byte2=38) ... CC Mode-dropdownlist: set the following flags to their specific values (0=0, 1=the value beginning &, like &65536 or &131072 or &262144) &65536 &131072 &262144 0 0 0, Absolute 1 0 0, Relative 1(127=-1, 1=+1) 0 1 0, Relative 2(63=-1, 65=+1) 1 1 0, Relative 3(65=-1, 1=+1) 0 0 1, Toggle (>0=toggle)
integer checkboxflags the checkboxes checked in the MIDI/OSC-learn dialog 0, no checkboxes 1, enable only when track or item is selected 2, Soft takeover (absolute mode only) 3, Soft takeover (absolute mode only)+enable only when track or item is selected 4, enable only when effect configuration is focused 20, enable only when effect configuration is visible
optional string osc_message the osc-message, that triggers the ParmLearn



^ Reaper version 5.975 Ultraschall version 4.00GetParmLearn_MediaItem

Functioncall:
Lua: integer parm_idx, string parmname, integer midi_note, integer checkboxflags, optional string osc_message = ultraschall.GetParmLearn_MediaItem(MediaItem MediaItem, integer fxid, integer id)

Description:

Returns a parameter-learn-setting from a MediaItem

It is the PARMLEARN-entry

Returns nil in case of an error

Parameters:
MediaItem MediaItem the MediaItem, whose ParmLearn-setting you want to get
integer fxid the fx, of which you want to get the parameter-learn-settings
integer id the id of the ParmLearn-settings you want to have, starting with 1 for the first

Returnvalues:
integer parm_idx the idx of the parameter; order is exactly like the order in the contextmenu of Parameter List -> Learn
string parmname the name of the parameter, though usually only wet or bypass
integer midi_note the midinote, that is assigned to this; this is a multibyte value, with the first byte being the MIDI-mode, and the second byte the MIDI/CC-note 0, OSC is used 176, MIDI Chan 1 CC 0 (Byte1=176, Byte2=0) ... 432, MIDI Chan 1 CC 1 (Byte1=176, Byte2=1) ... 144, MIDI Chan 1 Note 1 (Byte1=144, Byte2=0) 400, MIDI Chan 1 Note 1 (Byte1=144, Byte2=1) ... 9360, MIDI Chan 1 Note 36 (Byte1=144, Byte2=36) 9616, MIDI Chan 1 Note 37 (Byte1=144, Byte2=37) 9872, MIDI Chan 1 Note 38 (Byte1=144, Byte2=38) ... CC Mode-dropdownlist: set the following flags to their specific values (0=0, 1=the value beginning &, like &65536 or &131072 or &262144) &65536 &131072 &262144 0 0 0, Absolute 1 0 0, Relative 1(127=-1, 1=+1) 0 1 0, Relative 2(63=-1, 65=+1) 1 1 0, Relative 3(65=-1, 1=+1) 0 0 1, Toggle (>0=toggle)
integer checkboxflags the checkboxes checked in the MIDI/OSC-learn dialog 0, no checkboxes 1, enable only when track or item is selected 2, Soft takeover (absolute mode only) 3, Soft takeover (absolute mode only)+enable only when track or item is selected 4, enable only when effect configuration is focused 20, enable only when effect configuration is visible
optional string osc_message the osc-message, that triggers the ParmLearn



^ Reaper version 5.975 Ultraschall version 4.00GetParmLearn_MediaTrack

Functioncall:
Lua: integer parm_idx, string parmname, integer midi_note, integer checkboxflags, optional string osc_message = ultraschall.GetParmLearn_MediaTrack(MediaTrack MediaTrack, integer fxid, integer id)

Description:

Returns a parameter-learn-setting from a MediaTrack

It is the PARMLEARN-entry

Returns nil in case of an error

Parameters:
MediaTrack MediaTrack the MediaTrack, whose ParmLearn-setting you want to get
integer fxid the fx, of which you want to get the parameter-learn-settings
integer id the id of the ParmLearn-settings you want to have, starting with 1 for the first

Returnvalues:
integer parm_idx the idx of the parameter; order is exactly like the order in the contextmenu of Parameter List -> Learn
string parmname the name of the parameter, though usually only wet or bypass
integer midi_note the midinote, that is assigned to this; this is a multibyte value, with the first byte being the MIDI-mode, and the second byte the MIDI/CC-note 0, OSC is used 176, MIDI Chan 1 CC 0 (Byte1=176, Byte2=0) ... 432, MIDI Chan 1 CC 1 (Byte1=176, Byte2=1) ... 144, MIDI Chan 1 Note 1 (Byte1=144, Byte2=0) 400, MIDI Chan 1 Note 1 (Byte1=144, Byte2=1) ... 9360, MIDI Chan 1 Note 36 (Byte1=144, Byte2=36) 9616, MIDI Chan 1 Note 37 (Byte1=144, Byte2=37) 9872, MIDI Chan 1 Note 38 (Byte1=144, Byte2=38) ... CC Mode-dropdownlist: set the following flags to their specific values (0=0, 1=the value beginning &, like &65536 or &131072 or &262144) &65536 &131072 &262144 0 0 0, Absolute 1 0 0, Relative 1(127=-1, 1=+1) 0 1 0, Relative 2(63=-1, 65=+1) 1 1 0, Relative 3(65=-1, 1=+1) 0 0 1, Toggle (>0=toggle)
integer checkboxflags the checkboxes checked in the MIDI/OSC-learn dialog 0, no checkboxes 1, enable only when track or item is selected 2, Soft takeover (absolute mode only) 3, Soft takeover (absolute mode only)+enable only when track or item is selected 4, enable only when effect configuration is focused 20, enable only when effect configuration is visible
optional string osc_message the osc-message, that triggers the ParmLearn



^ Reaper version 5.979 Ultraschall version 4.00SetParmLearn_FXStateChunk

Functioncall:
Lua: boolean retval, optional string alteredFXStateChunk = ultraschall.SetParmLearn_FXStateChunk(string FXStateChunk, integer fxid, integer id, integer midi_note, integer checkboxflags, optional string osc_message)

Description:

Sets an already existing Parm-Learn-entry of an FX-plugin from an FXStateChunk.

It's the PARMLEARN-entry

returns false in case of an error

Parameters:
string FXStateChunk the FXStateChunk, in which you want to set a Parm-Learn-entry
integer fxid the id of the fx, which holds the to-set-Parm-Learn-entry; beginning with 1
integer id the id of the Parm-Learn-entry to set; beginning with 1
integer midi_note the midinote, that is assigned to this; this is a multibyte value, with the first byte being the MIDI-mode, and the second byte the MIDI/CC-note 0, OSC is used 176, MIDI Chan 1 CC 0 (Byte1=176, Byte2=0) ... 432, MIDI Chan 1 CC 1 (Byte1=176, Byte2=1) ... 144, MIDI Chan 1 Note 1 (Byte1=144, Byte2=0) 400, MIDI Chan 1 Note 1 (Byte1=144, Byte2=1) ... 9360, MIDI Chan 1 Note 36 (Byte1=144, Byte2=36) 9616, MIDI Chan 1 Note 37 (Byte1=144, Byte2=37) 9872, MIDI Chan 1 Note 38 (Byte1=144, Byte2=38) ... CC Mode-dropdownlist: set the following flags to their specific values (0=0, 1=the value beginning &, like &65536 or &131072 or &262144) &65536 &131072 &262144 0 0 0, Absolute 1 0 0, Relative 1(127=-1, 1=+1) 0 1 0, Relative 2(63=-1, 65=+1) 1 1 0, Relative 3(65=-1, 1=+1) 0 0 1, Toggle (>0=toggle)
integer checkboxflags the checkboxes checked in the MIDI/OSC-learn dialog 0, no checkboxes 1, enable only when track or item is selected 2, Soft takeover (absolute mode only) 3, Soft takeover (absolute mode only)+enable only when track or item is selected 4, enable only when effect configuration is focused 20, enable only when effect configuration is visible
optional string osc_message the osc-message, that triggers the ParmLearn, only when midi_note is set to 0!

Returnvalues:
boolean retval true, if setting new values was successful; false, if setting was unsuccessful(e.g. no such ParmLearn)
optional string alteredFXStateChunk the altered FXStateChunk




^ Reaper version 6.02 Ultraschall version 4.1AddParmMod_ParmModTable

Functioncall:
Lua: string FXStateChunk = ultraschall.AddParmMod_ParmModTable(string FXStateChunk, integer fxindex, table ParmModTable)

Description:

Takes a ParmModTable and adds with its values a new Parameter Modulation of a specific fx within an FXStateChunk.
  
The expected table's format is as follows:

    ParmModTable["PARAM_NR"]               - the parameter that you want to modulate; 1 for the first, 2 for the second, etc
    ParmModTable["PARAM_TYPE"]             - the type of the parameter, usually "", "wet" or "bypass"

    ParmModTable["PARAMOD_ENABLE_PARAMETER_MODULATION"]
                                            - Enable parameter modulation, baseline value(envelope overrides)-checkbox;
                                              true, checked; false, unchecked
    ParmModTable["PARAMOD_BASELINE"]       - Enable parameter modulation, baseline value(envelope overrides)-slider;
                                                0.000 to 1.000

    ParmModTable["AUDIOCONTROL"]           - is the Audio control signal(sidechain)-checkbox checked; true, checked; false, unchecked
                                                Note: if true, this needs all AUDIOCONTROL_-entries to be set
    ParmModTable["AUDIOCONTROL_CHAN"]      - the Track audio channel-dropdownlist; When stereo, the first stereo-channel;
                                              nil, if not available
    ParmModTable["AUDIOCONTROL_STEREO"]    - 0, just use mono-channels; 1, use the channel AUDIOCONTROL_CHAN plus
                                                AUDIOCONTROL_CHAN+1; nil, if not available
    ParmModTable["AUDIOCONTROL_ATTACK"]    - the Attack-slider of Audio Control Signal; 0-1000 ms; nil, if not available
    ParmModTable["AUDIOCONTROL_RELEASE"]   - the Release-slider; 0-1000ms; nil, if not available
    ParmModTable["AUDIOCONTROL_MINVOLUME"] - the Min volume-slider; -60dB to 11.9dB; must be smaller than AUDIOCONTROL_MAXVOLUME;
                                              nil, if not available
    ParmModTable["AUDIOCONTROL_MAXVOLUME"] - the Max volume-slider; -59.9dB to 12dB; must be bigger than AUDIOCONTROL_MINVOLUME;
                                              nil, if not available
    ParmModTable["AUDIOCONTROL_STRENGTH"]  - the Strength-slider; 0(0%) to 1000(100%)
    ParmModTable["AUDIOCONTROL_DIRECTION"] - the direction-radiobuttons; -1, negative; 0, centered; 1, positive
    ParmModTable["X2"]=0.5                 - the audiocontrol signal shaping-x-coordinate
    ParmModTable["Y2"]=0.5                 - the audiocontrol signal shaping-y-coordinate    
    
    ParmModTable["LFO"]                    - if the LFO-checkbox checked; true, checked; false, unchecked
                                                Note: if true, this needs all LFO_-entries to be set
    ParmModTable["LFO_SHAPE"]              - the LFO Shape-dropdownlist;
                                                0, sine; 1, square; 2, saw L; 3, saw R; 4, triangle; 5, random
                                                nil, if not available
    ParmModTable["LFO_SHAPEOLD"]           - use the old-style of the LFO_SHAPE;
                                                0, use current style of LFO_SHAPE;
                                                1, use old style of LFO_SHAPE;
                                                nil, if not available
    ParmModTable["LFO_TEMPOSYNC"]          - the Tempo sync-checkbox; true, checked; false, unchecked
    ParmModTable["LFO_SPEED"]              - the LFO Speed-slider; 0(0.0039Hz) to 1(8.0000Hz); nil, if not available
    ParmModTable["LFO_STRENGTH"]           - the LFO Strength-slider; 0.000(0.0%) to 1.000(100.0%)
    ParmModTable["LFO_PHASE"]              - the LFO Phase-slider; 0.000 to 1.000; nil, if not available
    ParmModTable["LFO_DIRECTION"]          - the LFO Direction-radiobuttons; -1, Negative; 0, Centered; 1, Positive
    ParmModTable["LFO_PHASERESET"]         - the LFO Phase reset-dropdownlist;
                                                0, On seek/loop(deterministic output)
                                                1, Free-running(non-deterministic output)
                                                nil, if not available
    
    ParmModTable["MIDIPLINK"]              - true, if any parameter-linking with MIDI-stuff; false, if not
                                                Note: if true, this needs all MIDIPLINK_-entries and PARMLINK_LINKEDPLUGIN=-100 to be set
    ParmModTable["PARMLINK"]               - the Link from MIDI or FX parameter-checkbox
                                              true, checked; false, unchecked
    ParmModTable["PARMLINK_LINKEDPLUGIN"]  - the selected plugin; nil, if not available
                                           - will be ignored, when PARMLINK_LINKEDPLUGIN_RELATIVE is set
                                                -1, nothing selected yet
                                                -100, MIDI-parameter-settings
                                                1 - the first fx-plugin
                                                2 - the second fx-plugin
                                                3 - the third fx-plugin, etc
    ParmModTable["PARMLINK_LINKEDPLUGIN_RELATIVE"] - the linked plugin relative to the current one in the FXChain
                                                   - 0, use parameter of the current fx-plugin
                                                   - negative, use parameter of a plugin above of the current plugin(-1, the one above; -2, two above, etc)
                                                   - positive, use parameter of a plugin below the current plugin(1, the one below; 2, two below, etc)
                                                   - nil, use only the plugin linked absolute(the one linked with PARMLINK_LINKEDPARMIDX)
    ParmModTable["PARMLINK_LINKEDPARMIDX"] - the id of the linked parameter; -1, if none is linked yet; nil, if not available
                                                When MIDI, this is irrelevant.
                                                When FX-parameter:
                                                  0 to n; 0 for the first; 1, for the second, etc

    ParmModTable["PARMLINK_OFFSET"]        - the Offset-slider; -1.00(-100%) to 1.00(+100%); nil, if not available
    ParmModTable["PARMLINK_SCALE"]         - the Scale-slider; -1.00(-100%) to 1.00(+100%); nil, if not available

    ParmModTable["MIDIPLINK"]              - true, if any parameter-linking with MIDI-stuff; false, if not
                                                Note: if true, this needs all MIDIPLINK_-entries and PARMLINK_LINKEDPLUGIN=-100 to be set
    ParmModTable["MIDIPLINK_BUS"]          - the MIDI-bus selected in the button-menu;
                                                0 to 15 for bus 1 to 16;
                                                nil, if not available
    ParmModTable["MIDIPLINK_CHANNEL"]      - the MIDI-channel selected in the button-menu;
                                                0, omni; 1 to 16 for channel 1 to 16;
                                                nil, if not available
    ParmModTable["MIDIPLINK_MIDICATEGORY"] - the MIDI_Category selected in the button-menu; nil, if not available
                                                144, MIDI note
                                                160, Aftertouch
                                                176, CC 14Bit and CC
                                                192, Program Change
                                                208, Channel Pressure
                                                224, Pitch
    ParmModTable["MIDIPLINK_MIDINOTE"]     - the MIDI-note selected in the button-menu; nil, if not available
                                              When MIDI note:
                                                   0(C-2) to 127(G8)
                                              When Aftertouch:
                                                   0(C-2) to 127(G8)
                                              When CC14 Bit:
                                                   128 to 159; see dropdownlist for the commands(the order of the list
                                                   is the same as this numbering)
                                              When CC:
                                                   0 to 119; see dropdownlist for the commands(the order of the list
                                                   is the same as this numbering)
                                              When Program Change:
                                                   0
                                              When Channel Pressure:
                                                   0
                                              When Pitch:
                                                   0
    ParmModTable["WINDOW_ALTERED"]         - false, if the windowposition hasn't been altered yet; true, if the window has been altered
                                                Note: if true, this needs all WINDOW_-entries to be set
    ParmModTable["WINDOW_ALTEREDOPEN"]     - if the position of the ParmMod-window is altered and currently open;
                                                        nil, unchanged; 0, unopened; 1, open
    ParmModTable["WINDOW_XPOS"]            - the x-position of the altered ParmMod-window in pixels; nil, default position
    ParmModTable["WINDOW_YPOS"]            - the y-position of the altered ParmMod-window in pixels; nil, default position
    ParmModTable["WINDOW_RIGHT"]           - the right-position of the altered ParmMod-window in pixels;
                                                nil, default position; only readable
    ParmModTable["WINDOW_BOTTOM"]          - the bottom-position of the altered ParmMod-window in pixels;
                                                nil, default position; only readable

This function does not check, if the values are within valid value-ranges, only if the datatypes are valid.

returns nil in case of an error

Parameters:
string FXStateChunk an FXStateChunk, of which you want to add the values of a specific parameter-modulation
integer fxindex the index of the fx, of which you want to add specific parameter-modulation-values
table ParmModTable the table which holds all parameter-modulation-values to be added

Returnvalues:
string FXStateChunk the altered FXStateChunk, where the ParameterModulation shall be added



^ Reaper version 6.10 Ultraschall version 4.2CountParmModFromFXStateChunk

Functioncall:
Lua: integer number_of_parmmodulations = ultraschall.CountParmModFromFXStateChunk(string FXStateChunk, integer fxindex)

Description:

returns the number of parameter-modulations available for a specific fx in an FXStateChunk

returns -1 in case of an error

Parameters:
string FXStateChunk the FXStateChunk from which you want to count the parameter-modulations available for a specific fx
integer fxindex the index of the fx, whose number of parameter-modulations you want to know

Returnvalues:
integer number_of_parmmodulations the number of parameter-modulations available for this fx within this FXStateChunk



^ Reaper version 6.10 Ultraschall version 4.1CreateDefaultParmModTable

Functioncall:
Lua: table ParmModTable = ultraschall.CreateDefaultParmModTable()

Description:

returns a parameter-modulation-table with default settings set.
You can alter these settings to your needs before committing it to an FXStateChunk.

The checkboxes for "Audio control signal (sidechain)", "LFO", "Link from MIDI or FX parameter" are unchecked and the fx-parameter is set to 1(the first parameter of the plugin).
To enable and change them, you need to alter the following entries accordingly, or applying the ParmModTable has no effect:
  
        ParmModTable["AUDIOCONTROL"] - the checkbox for "Audio control signal (sidechain)"
        ParmModTable["LFO"]      - the checkbox for "LFO"
        ParmModTable["PARMLINK"] - the checkbox for "Link from MIDI or FX parameter"
        ParmModTable["PARAM_NR"] - the index of the fx-parameter for which the parameter-modulation-table is intended

The table's format and its default-values is as follows:

  ParmModTable["PARAM_NR"]               - the parameter that you want to modulate; 1 for the first, 2 for the second, etc
  ParmModTable["PARAM_TYPE"]             - the type of the parameter, usually "", "wet" or "bypass"

  ParmModTable["PARAMOD_ENABLE_PARAMETER_MODULATION"]
                                          - Enable parameter modulation, baseline value(envelope overrides)-checkbox;
                                            true, checked; false, unchecked
  ParmModTable["PARAMOD_BASELINE"]       - Enable parameter modulation, baseline value(envelope overrides)-slider;
                                              0.000 to 1.000

  ParmModTable["AUDIOCONTROL"]           - is the Audio control signal(sidechain)-checkbox checked; true, checked; false, unchecked
                                              Note: if true, this needs all AUDIOCONTROL_-entries to be set
  ParmModTable["AUDIOCONTROL_CHAN"]      - the Track audio channel-dropdownlist; When stereo, the first stereo-channel;
                                            nil, if not available
  ParmModTable["AUDIOCONTROL_STEREO"]    - 0, just use mono-channels; 1, use the channel AUDIOCONTROL_CHAN plus
                                              AUDIOCONTROL_CHAN+1; nil, if not available
  ParmModTable["AUDIOCONTROL_ATTACK"]    - the Attack-slider of Audio Control Signal; 0-1000 ms; nil, if not available
  ParmModTable["AUDIOCONTROL_RELEASE"]   - the Release-slider; 0-1000ms; nil, if not available
  ParmModTable["AUDIOCONTROL_MINVOLUME"] - the Min volume-slider; -60dB to 11.9dB; must be smaller than AUDIOCONTROL_MAXVOLUME;
                                            nil, if not available
  ParmModTable["AUDIOCONTROL_MAXVOLUME"] - the Max volume-slider; -59.9dB to 12dB; must be bigger than AUDIOCONTROL_MINVOLUME;
                                            nil, if not available
  ParmModTable["AUDIOCONTROL_STRENGTH"]  - the Strength-slider; 0(0%) to 1000(100%)
  ParmModTable["AUDIOCONTROL_DIRECTION"] - the direction-radiobuttons; -1, negative; 0, centered; 1, positive
  ParmModTable["X2"]=0.5                 - the audiocontrol signal shaping-x-coordinate
  ParmModTable["Y2"]=0.5                 - the audiocontrol signal shaping-y-coordinate    
  
  ParmModTable["LFO"]                    - if the LFO-checkbox checked; true, checked; false, unchecked
                                              Note: if true, this needs all LFO_-entries to be set
  ParmModTable["LFO_SHAPE"]              - the LFO Shape-dropdownlist;
                                              0, sine; 1, square; 2, saw L; 3, saw R; 4, triangle; 5, random
                                              nil, if not available
  ParmModTable["LFO_SHAPEOLD"]           - use the old-style of the LFO_SHAPE;
                                              0, use current style of LFO_SHAPE;
                                              1, use old style of LFO_SHAPE;
                                              nil, if not available
  ParmModTable["LFO_TEMPOSYNC"]          - the Tempo sync-checkbox; true, checked; false, unchecked
  ParmModTable["LFO_SPEED"]              - the LFO Speed-slider; 0(0.0039Hz) to 1(8.0000Hz); nil, if not available
  ParmModTable["LFO_STRENGTH"]           - the LFO Strength-slider; 0.000(0.0%) to 1.000(100.0%)
  ParmModTable["LFO_PHASE"]              - the LFO Phase-slider; 0.000 to 1.000; nil, if not available
  ParmModTable["LFO_DIRECTION"]          - the LFO Direction-radiobuttons; -1, Negative; 0, Centered; 1, Positive
  ParmModTable["LFO_PHASERESET"]         - the LFO Phase reset-dropdownlist;
                                              0, On seek/loop(deterministic output)
                                              1, Free-running(non-deterministic output)
                                              nil, if not available
  
  ParmModTable["MIDIPLINK"]              - true, if any parameter-linking with MIDI-stuff; false, if not
                                              Note: if true, this needs all MIDIPLINK_-entries and PARMLINK_LINKEDPLUGIN=-100 to be set
  ParmModTable["PARMLINK"]               - the Link from MIDI or FX parameter-checkbox
                                            true, checked; false, unchecked
  ParmModTable["PARMLINK_LINKEDPLUGIN"]  - the selected plugin; nil, if not available
                                         - will be ignored, when PARMLINK_LINKEDPLUGIN_RELATIVE is set
                                              -1, nothing selected yet
                                              -100, MIDI-parameter-settings
                                              1 - the first fx-plugin
                                              2 - the second fx-plugin
                                              3 - the third fx-plugin, etc
  ParmModTable["PARMLINK_LINKEDPLUGIN_RELATIVE"] - the linked plugin relative to the current one in the FXChain
                                                 - 0, use parameter of the current fx-plugin
                                                 - negative, use parameter of a plugin above of the current plugin(-1, the one above; -2, two above, etc)
                                                 - positive, use parameter of a plugin below the current plugin(1, the one below; 2, two below, etc)
                                                 - nil, use only the plugin linked absolute(the one linked with PARMLINK_LINKEDPARMIDX)
  ParmModTable["PARMLINK_LINKEDPARMIDX"] - the id of the linked parameter; -1, if none is linked yet; nil, if not available
                                              When MIDI, this is irrelevant.
                                              When FX-parameter:
                                                0 to n; 0 for the first; 1, for the second, etc

  ParmModTable["PARMLINK_OFFSET"]        - the Offset-slider; -1.00(-100%) to 1.00(+100%); nil, if not available
  ParmModTable["PARMLINK_SCALE"]         - the Scale-slider; -1.00(-100%) to 1.00(+100%); nil, if not available

  ParmModTable["MIDIPLINK"]              - true, if any parameter-linking with MIDI-stuff; false, if not
                                              Note: if true, this needs all MIDIPLINK_-entries and PARMLINK_LINKEDPLUGIN=-100 to be set
  ParmModTable["MIDIPLINK_BUS"]          - the MIDI-bus selected in the button-menu;
                                              0 to 15 for bus 1 to 16;
                                              nil, if not available
  ParmModTable["MIDIPLINK_CHANNEL"]      - the MIDI-channel selected in the button-menu;
                                              0, omni; 1 to 16 for channel 1 to 16;
                                              nil, if not available
  ParmModTable["MIDIPLINK_MIDICATEGORY"] - the MIDI_Category selected in the button-menu; nil, if not available
                                              144, MIDI note
                                              160, Aftertouch
                                              176, CC 14Bit and CC
                                              192, Program Change
                                              208, Channel Pressure
                                              224, Pitch
  ParmModTable["MIDIPLINK_MIDINOTE"]     - the MIDI-note selected in the button-menu; nil, if not available
                                            When MIDI note:
                                                 0(C-2) to 127(G8)
                                            When Aftertouch:
                                                 0(C-2) to 127(G8)
                                            When CC14 Bit:
                                                 128 to 159; see dropdownlist for the commands(the order of the list
                                                 is the same as this numbering)
                                            When CC:
                                                 0 to 119; see dropdownlist for the commands(the order of the list
                                                 is the same as this numbering)
                                            When Program Change:
                                                 0
                                            When Channel Pressure:
                                                 0
                                            When Pitch:
                                                 0
  ParmModTable["WINDOW_ALTERED"]         - false, if the windowposition hasn't been altered yet; true, if the window has been altered
                                              Note: if true, this needs all WINDOW_-entries to be set
  ParmModTable["WINDOW_ALTEREDOPEN"]     - if the position of the ParmMod-window is altered and currently open;
                                              nil, unchanged; 0, unopened; 1, open
  ParmModTable["WINDOW_XPOS"]            - the x-position of the altered ParmMod-window in pixels; nil, default position
  ParmModTable["WINDOW_YPOS"]            - the y-position of the altered ParmMod-window in pixels; nil, default position
  ParmModTable["WINDOW_RIGHT"]           - the right-position of the altered ParmMod-window in pixels;
                                              nil, default position; only readable
  ParmModTable["WINDOW_BOTTOM"]          - the bottom-position of the altered ParmMod-window in pixels;
                                              nil, default position; only readable

Returnvalues:
table ParmModTable a ParmModTable with all settings set to Reaper's defaults



^ Reaper version 6.10 Ultraschall version 4.1DeleteParmModFromFXStateChunk

Functioncall:
Lua: string altered_FXStateChunk, boolean altered = ultraschall.DeleteParmModFromFXStateChunk(string FXStateChunk, integer fxindex, integer parmidx)

Description:

deletes a parameter-modulation of a specific fx from an FXStateChunk

retval altered returns false in case of an error

Parameters:
string FXStateChunk the FXStateChunk from which you want to delete a parameter-modulation of a specific fx
integer fxindex the index of the fx, whose parameter-modulations you want to delete
integer parmmodidx the parameter-index, whose parameter-modulation you want to delete

Returnvalues:
string altered_FXStateChunk the FXStateChunk, from which the
boolean altered true, deleting was successful; false, deleting was unsuccessful



^ Reaper version 6.02 Ultraschall version 4.1GetParmModTable_FXStateChunk

Functioncall:
Lua: table ParmModulationTable = ultraschall.GetParmModTable_FXStateChunk(string FXStateChunk, integer fxindex, integer parmodindex)

Description:

Returns a table with all values of a specific Parameter-Modulation from an FXStateChunk.
  
The table's format is as follows:

    ParmModTable["PARAM_NR"]               - the parameter that you want to modulate; 1 for the first, 2 for the second, etc
    ParmModTable["PARAM_TYPE"]             - the type of the parameter, usually "", "wet" or "bypass"

    ParmModTable["PARAMOD_ENABLE_PARAMETER_MODULATION"]
                                            - Enable parameter modulation, baseline value(envelope overrides)-checkbox;
                                              true, checked; false, unchecked
    ParmModTable["PARAMOD_BASELINE"]       - Enable parameter modulation, baseline value(envelope overrides)-slider;
                                                0.000 to 1.000

    ParmModTable["AUDIOCONTROL"]           - is the Audio control signal(sidechain)-checkbox checked; true, checked; false, unchecked
                                                Note: if true, this needs all AUDIOCONTROL_-entries to be set
    ParmModTable["AUDIOCONTROL_CHAN"]      - the Track audio channel-dropdownlist; When stereo, the first stereo-channel;
                                              nil, if not available
    ParmModTable["AUDIOCONTROL_STEREO"]    - 0, just use mono-channels; 1, use the channel AUDIOCONTROL_CHAN plus
                                                AUDIOCONTROL_CHAN+1; nil, if not available
    ParmModTable["AUDIOCONTROL_ATTACK"]    - the Attack-slider of Audio Control Signal; 0-1000 ms; nil, if not available
    ParmModTable["AUDIOCONTROL_RELEASE"]   - the Release-slider; 0-1000ms; nil, if not available
    ParmModTable["AUDIOCONTROL_MINVOLUME"] - the Min volume-slider; -60dB to 11.9dB; must be smaller than AUDIOCONTROL_MAXVOLUME;
                                              nil, if not available
    ParmModTable["AUDIOCONTROL_MAXVOLUME"] - the Max volume-slider; -59.9dB to 12dB; must be bigger than AUDIOCONTROL_MINVOLUME;
                                              nil, if not available
    ParmModTable["AUDIOCONTROL_STRENGTH"]  - the Strength-slider; 0(0%) to 1000(100%)
    ParmModTable["AUDIOCONTROL_DIRECTION"] - the direction-radiobuttons; -1, negative; 0, centered; 1, positive
    ParmModTable["X2"]=0.5                 - the audiocontrol signal shaping-x-coordinate
    ParmModTable["Y2"]=0.5                 - the audiocontrol signal shaping-y-coordinate    
    
    ParmModTable["LFO"]                    - if the LFO-checkbox checked; true, checked; false, unchecked
                                                Note: if true, this needs all LFO_-entries to be set
    ParmModTable["LFO_SHAPE"]              - the LFO Shape-dropdownlist;
                                                0, sine; 1, square; 2, saw L; 3, saw R; 4, triangle; 5, random
                                                nil, if not available
    ParmModTable["LFO_SHAPEOLD"]           - use the old-style of the LFO_SHAPE;
                                                0, use current style of LFO_SHAPE;
                                                1, use old style of LFO_SHAPE;
                                                nil, if not available
    ParmModTable["LFO_TEMPOSYNC"]          - the Tempo sync-checkbox; true, checked; false, unchecked
    ParmModTable["LFO_SPEED"]              - the LFO Speed-slider; 0(0.0039Hz) to 1(8.0000Hz); nil, if not available
    ParmModTable["LFO_STRENGTH"]           - the LFO Strength-slider; 0.000(0.0%) to 1.000(100.0%)
    ParmModTable["LFO_PHASE"]              - the LFO Phase-slider; 0.000 to 1.000; nil, if not available
    ParmModTable["LFO_DIRECTION"]          - the LFO Direction-radiobuttons; -1, Negative; 0, Centered; 1, Positive
    ParmModTable["LFO_PHASERESET"]         - the LFO Phase reset-dropdownlist;
                                                0, On seek/loop(deterministic output)
                                                1, Free-running(non-deterministic output)
                                                nil, if not available
    
    ParmModTable["MIDIPLINK"]              - true, if any parameter-linking with MIDI-stuff; false, if not
                                                Note: if true, this needs all MIDIPLINK_-entries and PARMLINK_LINKEDPLUGIN=-100 to be set
    ParmModTable["PARMLINK"]               - the Link from MIDI or FX parameter-checkbox
                                              true, checked; false, unchecked
    ParmModTable["PARMLINK_LINKEDPLUGIN"]  - the selected plugin; nil, if not available
                                           - will be ignored, when PARMLINK_LINKEDPLUGIN_RELATIVE is set
                                                -1, nothing selected yet
                                                -100, MIDI-parameter-settings
                                                1 - the first fx-plugin
                                                2 - the second fx-plugin
                                                3 - the third fx-plugin, etc
    ParmModTable["PARMLINK_LINKEDPLUGIN_RELATIVE"] - the linked plugin relative to the current one in the FXChain
                                                   - 0, use parameter of the current fx-plugin
                                                   - negative, use parameter of a plugin above of the current plugin(-1, the one above; -2, two above, etc)
                                                   - positive, use parameter of a plugin below the current plugin(1, the one below; 2, two below, etc)
                                                   - nil, use only the plugin linked absolute(the one linked with PARMLINK_LINKEDPARMIDX)
    ParmModTable["PARMLINK_LINKEDPARMIDX"] - the id of the linked parameter; -1, if none is linked yet; nil, if not available
                                                When MIDI, this is irrelevant.
                                                When FX-parameter:
                                                  0 to n; 0 for the first; 1, for the second, etc

    ParmModTable["PARMLINK_OFFSET"]        - the Offset-slider; -1.00(-100%) to 1.00(+100%); nil, if not available
    ParmModTable["PARMLINK_SCALE"]         - the Scale-slider; -1.00(-100%) to 1.00(+100%); nil, if not available

    ParmModTable["MIDIPLINK"]              - true, if any parameter-linking with MIDI-stuff; false, if not
                                                Note: if true, this needs all MIDIPLINK_-entries and PARMLINK_LINKEDPLUGIN=-100 to be set
    ParmModTable["MIDIPLINK_BUS"]          - the MIDI-bus selected in the button-menu;
                                                0 to 15 for bus 1 to 16;
                                                nil, if not available
    ParmModTable["MIDIPLINK_CHANNEL"]      - the MIDI-channel selected in the button-menu;
                                                0, omni; 1 to 16 for channel 1 to 16;
                                                nil, if not available
    ParmModTable["MIDIPLINK_MIDICATEGORY"] - the MIDI_Category selected in the button-menu; nil, if not available
                                                144, MIDI note
                                                160, Aftertouch
                                                176, CC 14Bit and CC
                                                192, Program Change
                                                208, Channel Pressure
                                                224, Pitch
    ParmModTable["MIDIPLINK_MIDINOTE"]     - the MIDI-note selected in the button-menu; nil, if not available
                                              When MIDI note:
                                                   0(C-2) to 127(G8)
                                              When Aftertouch:
                                                   0(C-2) to 127(G8)
                                              When CC14 Bit:
                                                   128 to 159; see dropdownlist for the commands(the order of the list
                                                   is the same as this numbering)
                                              When CC:
                                                   0 to 119; see dropdownlist for the commands(the order of the list
                                                   is the same as this numbering)
                                              When Program Change:
                                                   0
                                              When Channel Pressure:
                                                   0
                                              When Pitch:
                                                   0
    ParmModTable["WINDOW_ALTERED"]         - false, if the windowposition hasn't been altered yet; true, if the window has been altered
                                                Note: if true, this needs all WINDOW_-entries to be set
    ParmModTable["WINDOW_ALTEREDOPEN"]     - if the position of the ParmMod-window is altered and currently open;
                                                nil, unchanged; 0, unopened; 1, open
    ParmModTable["WINDOW_XPOS"]            - the x-position of the altered ParmMod-window in pixels; nil, default position
    ParmModTable["WINDOW_YPOS"]            - the y-position of the altered ParmMod-window in pixels; nil, default position
    ParmModTable["WINDOW_RIGHT"]           - the right-position of the altered ParmMod-window in pixels;
                                                nil, default position; only readable
    ParmModTable["WINDOW_BOTTOM"]          - the bottom-position of the altered ParmMod-window in pixels;
                                                nil, default position; only readable


returns nil in case of an error

Parameters:
string FXStateChunk an FXStateChunk, of which you want to get the values of a specific parameter-modulation
integer fxindex the index if the fx, of which you want to get specific parameter-modulation-values
integer parmodindex the parameter-modulation, whose values you want to get; 1, for the first; 2, for the second, etc

Returnvalues:
table ParmModulationTable a table which holds all values of a specfic parameter-modulation



^ Reaper version 5.975 Ultraschall version 4.00GetParmModulationChunk_FXStateChunk

Functioncall:
Lua: string parm_modulation_chunk = ultraschall.GetParmModulationChunk_FXStateChunk(string FXStateChunk, integer fxid, integer id)

Description:

Returns a parameter-modulation-chunk from an FXStateChunk
An FXStateChunk holds all FX-plugin-settings for a specific MediaTrack or MediaItem.

It's the
Returns nil in case of an error

Parameters:
string FXStateChunk the FXStateChunk, from which you want to retrieve the Parameter-modulation-settings
integer fxid the fx, of which you want to get the parameter-modulation-chunk-settings
integer id the id of the Parameter-modulation you want to have, starting with 1 for the first

Returnvalues:
string parm_modulation_chunk a chunk of the parameter-modulation settings



^ Reaper version 6.10 Ultraschall version 4.1IsValidParmModTable

Functioncall:
Lua: boolean retval = ultraschall.IsValidParmModTable(table ParmModTable)

Description:

checks, if a ParmModTable is a valid one

Does not check, if the value-ranges are valid, only if the datatypes are correct and if certain combinations are valid!

Use SLEM() to get error-messages who tell you, which entries are problematic.

returns false in case of an error

Parameters:
table ParmModTable the table to check, if it's a valid ParmModTable

Returnvalues:
boolean retval true, ParmModTable is a valid one; false, ParmModTable has errors(use SLEM() to get which one)



^ Reaper version 6.02 Ultraschall version 4.1SetParmMod_ParmModTable

Functioncall:
Lua: string FXStateChunk = ultraschall.SetParmMod_ParmModTable(string FXStateChunk, integer fxindex, table ParmModTable)

Description:

Takes a ParmModTable and sets its values into a Parameter Modulation of a specific fx within an FXStateChunk.
  
The expected table's format is as follows:

    ParmModTable["PARAM_NR"]               - the parameter that you want to modulate; 1 for the first, 2 for the second, etc
    ParmModTable["PARAM_TYPE"]             - the type of the parameter, usually "", "wet" or "bypass"

    ParmModTable["PARAMOD_ENABLE_PARAMETER_MODULATION"]
                                            - Enable parameter modulation, baseline value(envelope overrides)-checkbox;
                                              true, checked; false, unchecked
    ParmModTable["PARAMOD_BASELINE"]       - Enable parameter modulation, baseline value(envelope overrides)-slider;
                                                0.000 to 1.000

    ParmModTable["AUDIOCONTROL"]           - is the Audio control signal(sidechain)-checkbox checked; true, checked; false, unchecked
                                                Note: if true, this needs all AUDIOCONTROL_-entries to be set
    ParmModTable["AUDIOCONTROL_CHAN"]      - the Track audio channel-dropdownlist; When stereo, the first stereo-channel;
                                              nil, if not available
    ParmModTable["AUDIOCONTROL_STEREO"]    - 0, just use mono-channels; 1, use the channel AUDIOCONTROL_CHAN plus
                                                AUDIOCONTROL_CHAN+1; nil, if not available
    ParmModTable["AUDIOCONTROL_ATTACK"]    - the Attack-slider of Audio Control Signal; 0-1000 ms; nil, if not available
    ParmModTable["AUDIOCONTROL_RELEASE"]   - the Release-slider; 0-1000ms; nil, if not available
    ParmModTable["AUDIOCONTROL_MINVOLUME"] - the Min volume-slider; -60dB to 11.9dB; must be smaller than AUDIOCONTROL_MAXVOLUME;
                                              nil, if not available
    ParmModTable["AUDIOCONTROL_MAXVOLUME"] - the Max volume-slider; -59.9dB to 12dB; must be bigger than AUDIOCONTROL_MINVOLUME;
                                              nil, if not available
    ParmModTable["AUDIOCONTROL_STRENGTH"]  - the Strength-slider; 0(0%) to 1000(100%)
    ParmModTable["AUDIOCONTROL_DIRECTION"] - the direction-radiobuttons; -1, negative; 0, centered; 1, positive
    ParmModTable["X2"]=0.5                 - the audiocontrol signal shaping-x-coordinate
    ParmModTable["Y2"]=0.5                 - the audiocontrol signal shaping-y-coordinate    
    
    ParmModTable["LFO"]                    - if the LFO-checkbox checked; true, checked; false, unchecked
                                                Note: if true, this needs all LFO_-entries to be set
    ParmModTable["LFO_SHAPE"]              - the LFO Shape-dropdownlist;
                                                0, sine; 1, square; 2, saw L; 3, saw R; 4, triangle; 5, random
                                                nil, if not available
    ParmModTable["LFO_SHAPEOLD"]           - use the old-style of the LFO_SHAPE;
                                                0, use current style of LFO_SHAPE;
                                                1, use old style of LFO_SHAPE;
                                                nil, if not available
    ParmModTable["LFO_TEMPOSYNC"]          - the Tempo sync-checkbox; true, checked; false, unchecked
    ParmModTable["LFO_SPEED"]              - the LFO Speed-slider; 0(0.0039Hz) to 1(8.0000Hz); nil, if not available
    ParmModTable["LFO_STRENGTH"]           - the LFO Strength-slider; 0.000(0.0%) to 1.000(100.0%)
    ParmModTable["LFO_PHASE"]              - the LFO Phase-slider; 0.000 to 1.000; nil, if not available
    ParmModTable["LFO_DIRECTION"]          - the LFO Direction-radiobuttons; -1, Negative; 0, Centered; 1, Positive
    ParmModTable["LFO_PHASERESET"]         - the LFO Phase reset-dropdownlist;
                                                0, On seek/loop(deterministic output)
                                                1, Free-running(non-deterministic output)
                                                nil, if not available
    
    ParmModTable["MIDIPLINK"]              - true, if any parameter-linking with MIDI-stuff; false, if not
                                                Note: if true, this needs all MIDIPLINK_-entries and PARMLINK_LINKEDPLUGIN=-100 to be set
    ParmModTable["PARMLINK"]               - the Link from MIDI or FX parameter-checkbox
                                              true, checked; false, unchecked
    ParmModTable["PARMLINK_LINKEDPLUGIN"]  - the selected plugin; nil, if not available
                                           - will be ignored, when PARMLINK_LINKEDPLUGIN_RELATIVE is set
                                                -1, nothing selected yet
                                                -100, MIDI-parameter-settings
                                                1 - the first fx-plugin
                                                2 - the second fx-plugin
                                                3 - the third fx-plugin, etc
    ParmModTable["PARMLINK_LINKEDPLUGIN_RELATIVE"] - the linked plugin relative to the current one in the FXChain
                                                   - 0, use parameter of the current fx-plugin
                                                   - negative, use parameter of a plugin above of the current plugin(-1, the one above; -2, two above, etc)
                                                   - positive, use parameter of a plugin below the current plugin(1, the one below; 2, two below, etc)
                                                   - nil, use only the plugin linked absolute(the one linked with PARMLINK_LINKEDPARMIDX)
    ParmModTable["PARMLINK_LINKEDPARMIDX"] - the id of the linked parameter; -1, if none is linked yet; nil, if not available
                                                When MIDI, this is irrelevant.
                                                When FX-parameter:
                                                  0 to n; 0 for the first; 1, for the second, etc

    ParmModTable["PARMLINK_OFFSET"]        - the Offset-slider; -1.00(-100%) to 1.00(+100%); nil, if not available
    ParmModTable["PARMLINK_SCALE"]         - the Scale-slider; -1.00(-100%) to 1.00(+100%); nil, if not available

    ParmModTable["MIDIPLINK"]              - true, if any parameter-linking with MIDI-stuff; false, if not
                                                Note: if true, this needs all MIDIPLINK_-entries and PARMLINK_LINKEDPLUGIN=-100 to be set
    ParmModTable["MIDIPLINK_BUS"]          - the MIDI-bus selected in the button-menu;
                                                0 to 15 for bus 1 to 16;
                                                nil, if not available
    ParmModTable["MIDIPLINK_CHANNEL"]      - the MIDI-channel selected in the button-menu;
                                                0, omni; 1 to 16 for channel 1 to 16;
                                                nil, if not available
    ParmModTable["MIDIPLINK_MIDICATEGORY"] - the MIDI_Category selected in the button-menu; nil, if not available
                                                144, MIDI note
                                                160, Aftertouch
                                                176, CC 14Bit and CC
                                                192, Program Change
                                                208, Channel Pressure
                                                224, Pitch
    ParmModTable["MIDIPLINK_MIDINOTE"]     - the MIDI-note selected in the button-menu; nil, if not available
                                              When MIDI note:
                                                   0(C-2) to 127(G8)
                                              When Aftertouch:
                                                   0(C-2) to 127(G8)
                                              When CC14 Bit:
                                                   128 to 159; see dropdownlist for the commands(the order of the list
                                                   is the same as this numbering)
                                              When CC:
                                                   0 to 119; see dropdownlist for the commands(the order of the list
                                                   is the same as this numbering)
                                              When Program Change:
                                                   0
                                              When Channel Pressure:
                                                   0
                                              When Pitch:
                                                   0
    ParmModTable["WINDOW_ALTERED"]         - false, if the windowposition hasn't been altered yet; true, if the window has been altered
                                                Note: if true, this needs all WINDOW_-entries to be set
    ParmModTable["WINDOW_ALTEREDOPEN"]     - if the position of the ParmMod-window is altered and currently open;
                                                        nil, unchanged; 0, unopened; 1, open
    ParmModTable["WINDOW_XPOS"]            - the x-position of the altered ParmMod-window in pixels; nil, default position
    ParmModTable["WINDOW_YPOS"]            - the y-position of the altered ParmMod-window in pixels; nil, default position
    ParmModTable["WINDOW_RIGHT"]           - the right-position of the altered ParmMod-window in pixels;
                                                nil, default position; only readable
    ParmModTable["WINDOW_BOTTOM"]          - the bottom-position of the altered ParmMod-window in pixels;
                                                nil, default position; only readable

This function does not check, if the values are within valid value-ranges, only if the datatypes are valid.

Note: If you want to apply a ParmModulationTable from a bypass/wet-parameter to a non bypass/wet-parameter, you need to set ParmModTable["PARAM_TYPE"]="" or it will remove the parameter-modulation!
Also note: set ParmModTable["PARAM_NR"] to choose the parameter-index, whose ParameterModulation shall be set.

returns nil in case of an error

Parameters:
string FXStateChunk an FXStateChunk, of which you want to set the values of a specific parameter-modulation
integer fxindex the index if the fx, of which you want to set specific parameter-modulation-values
table ParmModTable the table which holds all parameter-modulation-values to be set

Returnvalues:
string FXStateChunk the altered FXStateChunk, where the ParameterModulation had been set




^ Reaper version 5.977 SWS version 2.10.0.1 JS version 0.986 Ultraschall version 4.00AutoDetectVSTPluginsFolder

Functioncall:
Lua: ultraschall.AutoDetectVSTPluginsFolder()

Description:

Auto-detects the vst-plugins-folder.



^ Reaper version 5.977 SWS version 2.10.0.1 JS version 0.986 Ultraschall version 4.00ScanDXPlugins

Functioncall:
Lua: ultraschall.ScanDXPlugins(optional boolean re_scan)

Description:

(Re-)scans all DX-Plugins.

Parameters:
optional boolean clear_cache true, re-scan all DX-plugins; false or nil, only scan new DX-plugins



^ Reaper version 5.977 SWS version 2.10.0.1 JS version 0.986 Ultraschall version 4.00ScanVSTPlugins

Functioncall:
Lua: ultraschall.ScanVSTPlugins(optional boolean clear_cache)

Description:

Re-scans all VST-Plugins.

Parameters:
optional boolean clear_cache true, clear cache before re-scanning; false or nil, just scan vts-plugins




^ Reaper version 6.19 Ultraschall version 4.2SetDocked_FXStateChunk

Functioncall:
Lua: string FXStateChunk = ultraschall.SetDocked_FXStateChunk(string FXStateChunk, integer docked)

Description:

sets the docked-state of an FXStateChunk.

It is the DOCKED-entry

returns nil in case of an error

Parameters:
string FXStateChunk the FXStateChunk, into which you want to set the new last-selected-fx-state
integer docked the docked-state of the fx-chain-window; 0, undocked; 1, docked

Returnvalues:
string FXStateChunk the altered FXStateChunk with the new DOCKED-state



^ Reaper version 6.19 Ultraschall version 4.2SetFXBypass_FXStateChunk

Functioncall:
Lua: string FXStateChunk = ultraschall.SetFXBypass_FXStateChunk(string FXStateChunk, integer fxid, integer bypass, integer offline, integer unknown)

Description:

sets the fx-BYPASS-entry of a specific fx within an FXStateChunk, which allows setting online/offline and bypass-settings.

returns nil in case of an error

Parameters:
string FXStateChunk the FXStateChunk, into which you want to set the new bypass-state
integer fxid the fx, whose bypass-state you want to set
integer bypass 0, non-bypassed; 1, bypassed
integer offline 0, online; 1, offline
integer unknown unknown; default is 0

Returnvalues:
string FXStateChunk the altered FXStateChunk with the new BYPASS-state



^ Reaper version 6.02 Ultraschall version 4.2SetFXComment_FXStateChunk

Functioncall:
Lua: string FXStateChunk = ultraschall.SetFXComment_FXStateChunk(string FXStateChunk, integer fxid, string NewComment)

Description:

sets an fx-comment of a specific fx within an FXStateChunk

Set to "" to remove the comment

returns nil in case of an error

Parameters:
string FXStateChunk the FXStateChunk, into which you want to set the new comment
integer fxid the fx, whose comment you want to set
string NewComment the new comment; "", to remove the currently set comment; newlines are allowed

Returnvalues:
string FXStateChunk the altered FXStateChunk with the new comment



^ Reaper version 6.19 Ultraschall version 4.2SetFXFloatPos_FXStateChunk

Functioncall:
Lua: string FXStateChunk = ultraschall.SetFXFloatPos_FXStateChunk(string FXStateChunk, integer fxid, boolean floating, integer x, integer y, integer w, integer h)

Description:

sets the fx-FXID-entry of a specific fx within an FXStateChunk, which manages floatstate and position of the floating-fx-window.

Note: when committing it to a track/item of an opened project, keep in mind that setting floating=false will have no effect.
You will also need to commit a TrackStateChunk/ItemStateChunk twice, as in the first commit, w and h will be ignored if the fx isn't already floating.
This is probably due a Reaper bug and I can't fix it in here, sorry.

returns nil in case of an error

Parameters:
string FXStateChunk the FXStateChunk, into which you want to set the new bypass-state
integer fxid the fx, whose bypass-state you want to set
boolean floating true, window is floating; false, window is not floating
integer x the x-position of the floating-window
integer y the y-position of the floating-window
integer w the width of the window(will be ignored, when committing changed statechunk only once to current project's track/item)
integer h the height of the window(will be ignored, when committing changed statechunk only once to current project's track/item)

Returnvalues:
string FXStateChunk the altered FXStateChunk with the new BYPASS-state



^ Reaper version 6.19 Ultraschall version 4.2SetFXGuid_FXStateChunk

Functioncall:
Lua: string FXStateChunk = ultraschall.SetFXGuid_FXStateChunk(string FXStateChunk, integer fxid, string guid)

Description:

sets the fx-FXID-entry of a specific fx within an FXStateChunk, which holds the guid for this fx.

returns nil in case of an error

Parameters:
string FXStateChunk the FXStateChunk, into which you want to set the new gui
integer fxid the fx, whose guid you want to set
string guid a guid for this fx; use reaper.genGuid to create one

Returnvalues:
string FXStateChunk the altered FXStateChunk with the new BYPASS-state



^ Reaper version 6.02 Ultraschall version 4.2SetFXMidiPreset_FXStateChunk

Functioncall:
Lua: string FXStateChunk = ultraschall.SetFXMidiPreset_FXStateChunk(string FXStateChunk, integer fxid, integer midi_preset)

Description:

sets the MIDIPRESET-entryvalues of a specific fx from an FXStateChunk as set by the +-button->Link to MIDI program change-menuentry in the FX-window of the visible plugin.

returns nil in case of an error

Parameters:
string FXStateChunk the FXStateChunk, into which you want to set the new comment
integer fxid the fx, whose comment you want to set
integer midi_preset 0, No Link; 17, Link all channels sequentially; 1-16, MIDI-channel 1-16

Returnvalues:
string FXStateChunk the altered FXStateChunk with the new comment



^ Reaper version 6.19 Ultraschall version 4.2SetFXWak_FXStateChunk

Functioncall:
Lua: string FXStateChunk = ultraschall.SetFXWak_FXStateChunk(string FXStateChunk, integer fxid, integer send_all_keyboard_input_to_fx, integer fx_embed_state)

Description:

sets the fx-WAK-entry of a specific fx within an FXStateChunk, which allows setting "sending all keyboard input to plugin"-option and "embed fx in tcp/mcp"-option of an fx

returns nil in case of an error

Parameters:
string FXStateChunk the FXStateChunk, into which you want to set the new wak-state
integer fxid the fx, whose wak-state you want to set
integer send_all_keyboard_input_to_fx state of sen all keyboard input to plug-in; 0, turned off; 1, turned on
integer fx_embed_state set embedding of the fx; &1=TCP, &2=MCP

Returnvalues:
string FXStateChunk the altered FXStateChunk with the new wak-state



^ Reaper version 6.19 Ultraschall version 4.2SetLastSel_FXStateChunk

Functioncall:
Lua: string FXStateChunk = ultraschall.SetLastSel_FXStateChunk(string FXStateChunk, integer lastsel)

Description:

sets the last selected-plugin of an FXStateChunk.

It is the LASTSEL-entry

returns nil in case of an error

Parameters:
string FXStateChunk the FXStateChunk, into which you want to set the new last-selected-fx-state
integer lastsel the last fx selected; 1, for the first fx; 2, for the second fx; etc

Returnvalues:
string FXStateChunk the altered FXStateChunk with the new LASTSEL-state



^ Reaper version 6.19 Ultraschall version 4.2SetShow_FXStateChunk

Functioncall:
Lua: string FXStateChunk = ultraschall.SetShow_FXStateChunk(string FXStateChunk, integer showstate)

Description:

sets the shown-plugin of an FXStateChunk.

It is the SHOW-entry

returns nil in case of an error

Parameters:
string FXStateChunk the FXStateChunk, into which you want to set the new shown-fx-state
integer showstate the fx shown; 1, for the first fx; 2, for the second fx; etc

Returnvalues:
string FXStateChunk the altered FXStateChunk with the new SHOW-state



^ Reaper version 6.10 Ultraschall version 4.2SetTakeFXComment

Functioncall:
Lua: string comment = ultraschall.SetTakeFXComment(MediaItem item, integer takeid, integer fxid, string Comment)

Description:

sets the comment of a take-fx

returns nil in case of an error

Parameters:
MediaItem item the mediaitem, whose takefx-comment you want to set
integer take_id the id of the take, whose takefx-comment you want to set
integer fxid the id of the fx, whose comment you want to set
string Comment the new Comment for this takefx

Returnvalues:
string comment the comment of a track-fx



^ Reaper version 6.11 Ultraschall version 4.1SetTakeFX_AlternativeName

Functioncall:
Lua: boolean retval = ultraschall.SetTakeFX_AlternativeName(integer tracknumber, integer take_id, integer fx_id, string newname)

Description:

sets the alternative name of a specific takefx.

Returns false in case of an error

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.10 Ultraschall version 4.2SetTrackFXComment

Functioncall:
Lua: boolean retval = ultraschall.SetTrackFXComment(MediaTrack track, integer fxid, string Comment)

Description:

sets the comment of a track-fx

Note: you need to switch fxchain off/on or change the shown fx for the new comment to be displayed in Reaper's UI

returns false in case of an error

Parameters:
MediaTrack track the mediatrack, of which you want to set a trackfx's comment
integer fxid the id of the fx, whose comment you want to set
string Comment the new comment

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.11 Ultraschall version 4.1SetTrackFX_AlternativeName

Functioncall:
Lua: boolean retval = ultraschall.SetTrackFX_AlternativeName(integer tracknumber, integer fx_id, string newname)

Description:

sets the alternative name of a specific trackfx.

Returns false in case of an error

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.19 Ultraschall version 4.2SetWndRect_FXStateChunk

Functioncall:
Lua: string FXStateChunk = ultraschall.SetWndRect_FXStateChunk(string FXStateChunk, integer x, integer y, integer w, integer h)

Description:

sets the docked-state of an FXStateChunk.

It is the WNDRECT-entry

returns nil in case of an error

Parameters:
string FXStateChunk the FXStateChunk, into which you want to set the new undocked-windowposition-state
integer x the x-position of the undocked window
integer y the y-position of the undocked window
integer w the width of the window-rectangle
integer h the height of the window-rectangle

Returnvalues:
string FXStateChunk the altered FXStateChunk with the new WNDRECT-state




^ Reaper version 5.40 Ultraschall version 4.1CopyFile_AddFileToQueue

Functioncall:
Lua: integer current_copyqueue_position = ultraschall.CopyFile_AddFileToQueue(string filename, string targetfilename, boolean overwrite)

Description:

Adds a new file to the copy-queue.

If you try to copy a file into a subdirectory, which does not exist yet, this subdirectory will be created.
If the background-copying is still active(the copying-queue not finished with copying) at the time of adding, the file will be copied right away.
To check, whether you need to start if there are still running copying-instances in the background, use CopyFile_IsCurrentlyCopying.

The returned value in current_copyqueue_position allows you get the current copying status and possible error-messages using CopyFile_GetCopiedStatus

returns -1 in case of an error.


Parameters:
string filename the file to be copied, including its path
string targetfilename the targetfile, to which the file shall be copied including its path
boolean overwrite true, overwrite an already existing file; false, don't overwrite an already existing file

Returnvalues:
integer current_copyqueue_position the position in the copy-queue



^ Reaper version 5.40 Ultraschall version 4.1CopyFile_FlushCopiedFiles

Functioncall:
Lua: ultraschall.CopyFile_FlushCopiedFiles()

Description:

Flushes the queue for the already copied files.

This invalidates the files-index given by CopyFile_AddFileToQueue!




^ Reaper version 5.40 Ultraschall version 4.1CopyFile_GetBufferSize

Functioncall:
Lua: integer buffer_size = ultraschall.CopyFile_GetBufferSize()

Description:

Returns the current buffer-size in bytes.


Returnvalues:
integer buffer_size the buffer-size for the copying instances in bytes



^ Reaper version 5.40 Ultraschall version 4.1CopyFile_GetCopiedStatus

Functioncall:
Lua: string filename, boolean already_processed, string error_message, string error_code = ultraschall.CopyFile_GetCopiedStatus(integer fileindex)

Description:

Returns the copystatus of a file in the copy-queue

Will return -1 in case of an error.


Parameters:
integer fileindex the index of the file within the copying-queue

Returnvalues:
string filename the filename of the file to be copied
boolean already_processed true, files has been processed; false, the file has not been processed, yet
string error_message the error-message, when copying didn't work; "" if no error occurred
string error_code an error-code for the error happening



^ Reaper version 5.40 Ultraschall version 4.1CopyFile_GetCurrentlyCopiedFile

Functioncall:
Lua: integer number_of_remaining_files, string filename, integer remaining_bytes_to_copy, integer percentage = ultraschall.CopyFile_GetCurrentlyCopiedFile()

Description:

Returns the information about the file currently copied


Returnvalues:
integer number_of_remaining_files the number of files still in the copying-queue
string filename the filename with path of the file currently copied
integer remaining_bytes_to_copy the number of bytes not copied yet of the current file
integer percentage the percentage of the already copied part of the file



^ Reaper version 5.40 Ultraschall version 4.1CopyFile_GetCurrentlyRunningCopyInstances

Functioncall:
Lua: integer number_of_instances = ultraschall.CopyFile_GetCurrentlyRunningCopyInstances()

Description:

Returns the number of copying-instances currently started by CopyFile_StartCopying


Returnvalues:
integer number_of_instances the number of copying instances started



^ Reaper version 5.40 Ultraschall version 4.1CopyFile_GetPausedState

Functioncall:
Lua: boolean retval = ultraschall.CopyFile_GetPausedState()

Description:

Returns the current paused-state of the background-copying


Returnvalues:
boolean retval true, copying is paused; false, copying isn't paused



^ Reaper version 5.40 Ultraschall version 4.1CopyFile_GetRemainingFilesToCopy

Functioncall:
Lua: integer filecount = ultraschall.CopyFile_GetRemainingFilesToCopy()

Description:

Returns the number of files that still need to be copied.


Returnvalues:
integer filecount the number of files to be copied



^ Reaper version 5.40 Ultraschall version 4.1CopyFile_IsCurrentlyCopying

Functioncall:
Lua: boolean retval = ultraschall.CopyFile_IsCurrentlyCopying()

Description:

Returns, if the any copying-instance is (still) currently copying files.


Returnvalues:
boolean retval true, currently copying files; false, no file currently copying



^ Reaper version 5.40 Ultraschall version 4.1CopyFile_Pause

Functioncall:
Lua: boolean retval = ultraschall.CopyFile_Pause(boolean toggle)

Description:

Pauses the copying of the files in the copying-queue.

Will return false in case of an error.


Parameters:
integer toogle true, pause the copying; false, go on with copying of the files

Returnvalues:
boolean retval true, pausing was successful; false, pausing was unsuccessful



^ Reaper version 5.40 Ultraschall version 4.1CopyFile_SetBufferSize

Functioncall:
Lua: boolean retval = ultraschall.CopyFile_SetBufferSize(integer buffersize)

Description:

Sets the buffer-size of the background-copy-instances in bytes.

That means, each copying-instance will copy this amount of data per defer-cycle.

Returns false in case of an error.


Parameters:
integer buffersize the amount of bytes of the buffer-size

Returnvalues:
boolean retval true, setting this was successful; false, setting this was unsuccessful



^ Reaper version 5.40 Ultraschall version 4.1CopyFile_StartCopying

Functioncall:
Lua: integer instance_number = ultraschall.CopyFile_StartCopying()

Description:

Starts copying the files added to the background-copy-queue.

You can run this function multiple times, to have multiple background-copy-instances, depending on how fast the copying shall be and how much ressources it should eat. Each instance copies the amount of data set with CopyFile_SetBufferSize, so if the buffersize is set to 1048576(1 MB) then each instance will copy 1 MB per defer-cycle. That way you can balance the amount of data copied each defer-cycle with the amount of time each defer-cycle uses Reaper's processing-time. So having multiple instances with smaller buffer-sizes can prevent lagging of the gui of Reaper.

You can have up to 30 instances running in the background at the same time.

Add files with CopyFile_AddFileToQueue

If all files are copied, the instances will be stopped completely, so using CopyFile_GetCurrentlyRunningCopyInstances returning 0 can tell you, if the copying is finished already.

Will return -1, if all possible 30 instances are started already.


Returnvalues:
integer instance_number the copying-instance started



^ Reaper version 5.40 Ultraschall version 4.1CopyFile_StopCopying

Functioncall:
Lua: ultraschall.CopyFile_StopCopying()

Description:

Stops copying of all files immediately. If the currently file isn't finished copying yet, it will remain incomplete.

Returns the last file processed, so you can check, if the file has been copied properly.


Returnvalues:
string filename the last filename that has been processed
string filename_target the target of the last filename, that has been processed




^ Reaper version 5.40 Ultraschall version 4.00CheckForValidFileFormats

Functioncall:
Lua: string fileformat, boolean supported_by_reaper, string mediatype = ultraschall.CheckForValidFileFormats(string filename_with_path)

Description:

Returns the fileformat of a Reaper-supported-file, images, audios(opus and m4a missing, though!), and video(mp4-video missing, though!).
Note: Checks the file itself and does not check for correct file-extension. Reaper needs the correct file-extension or it can't read an otherwise valid imagefile.
      For example: if you want to import a GIF, renamed to filename.JPG, Reaper will not be able to read it. Only when the extension is the same as the file itself(filename.GIF).

Returns nil in case of an error

Parameters:
string filename_with_path the file to check for it's image-fileformat

Returnvalues:
string fileformat the format of the file; JPG, PNG, GIF, LCF, ICO, WAV, AIFF, ASF/WMA/WMV, MP3, MP3 -ID3TAG, FLAC, MKV/MKA/MKS/MK3D/WEBM, AVI, RPP_PROJECT, unknown
boolean supported_by_reaper true, if importing of the fileformat is supported by Reaper; false, if not
string mediatype the type of the media; Image, Audio, Audio/Video, Video, Reaper



^ Reaper version 5.40 Ultraschall version 4.00CountLinesInFile

Functioncall:
Lua: integer linesinfile = ultraschall.CountLinesInFile(string filename_with_path)

Description:

Counts lines in a textfile. In binary files, the number of lines may be weird and unexpected!
Returns -1, if no such file exists.

Parameters:
string filename_with_path filename of the file to be read

Returnvalues:
integer linesinfile number of lines in a textfile; -1 in case of error



^ Reaper version 5.40 Ultraschall version 4.00GetLengthOfFile

Functioncall:
Lua: integer length_of_file = ultraschall.GetLengthOfFile(string filename_with_path)

Description:

Returns the length of the file filename_with_path in bytes.
Will return -1, if no such file exists.

Parameters:
string filename_with_path filename to write the value to

Returnvalues:
integer length_of_file the length of the file in bytes. -1 in case of error



^ Reaper version 5.95 Ultraschall version 4.00OnlyFilesOfCertainType

Functioncall:
Lua: integer foundfilecount, array foundfilearray = ultraschall.OnlyFilesOfCertainType(array filearray, string filetype)

Description:

Returns the filenames_with_path from a filearray, that are of a certain filetype

returns -1 in case of an error

Parameters:
array filearray an array with files to check for; index is 1-based
string fileformat the format of the file; JPG, PNG, GIF, LCF, ICO, WAV, AIFF, ASF/WMA/WMV, MP3, MP3 -ID3TAG, FLAC, MKV/MKA/MKS/MK3D/WEBM, AVI, RPP_PROJECT, unknown

Returnvalues:
integer foundfilecount the number of files that contain the right filetype
array foundfilearray an array with all the files that contain the right filetype




^ Reaper version 5.77 Ultraschall version 4.00CountDirectoriesAndFilesInPath

Functioncall:
Lua: integer filecount, integer dircount = ultraschall.CountDirectoriesAndFilesInPath(string path)

Description:

returns the number of files and directories in path

returns -1, in case of error

Parameters:
string path the path to count the files and directories from

Returnvalues:
integer filecount the number of files found in path
integer dircount the number of directories found in path



^ Reaper version 5.40 Ultraschall version 4.00CreateValidTempFile

Functioncall:
Lua: string tempfilename = ultraschall.CreateValidTempFile(string filename_with_path, boolean create, string suffix, boolean retainextension)

Description:

Tries to determine a valid temporary filename. Will check filename_with_path with an included number between 0 and 16384 to create such a filename.
You can also add your own suffix to the filename.

The pattern is: filename_with_path$Suffix~$number.ext (when retainextension is set to true!)

If you wish, you can also create this temporary-file as an empty file.

The path of the tempfile is always the same as the original file.

Returns nil in case of failure.

Parameters:
string filename_with_path the original filename
boolean create true, if you want to create that temporary file as an empty file; false, just return the filename
string suffix if you want to alter the temporary filename with an additional suffix, use this parameter
boolean retainextension true, keep the extension(if existing) at the end of the tempfile; false, just add the suffix~number at the end.

Returnvalues:
string tempfilename the valid temporary filename found



^ Reaper version 5.77 Ultraschall version 4.00DirectoryExists

Functioncall:
Lua: boolean retval = ultraschall.DirectoryExists(string path, string directory)

Description:

Checks, if a directory exists in path.

On Linux: path and directory are case-sensitive!

Returns false in case of error.

Parameters:
string path the path, in which to look for the existence of parameter directory
string directory the name of the directory to check for in path

Returnvalues:
boolean retval true, directory exists; false, directory does not exist



^ Reaper version 5.95 Ultraschall version 4.00DirectoryExists2

Functioncall:
Lua: boolean retval = ultraschall.DirectoryExists2(string Path)

Description:

returns, if Path is an existing path.

returns false in case of an error

Parameters:
string Path the path to check for

Returnvalues:
boolean retval true, if path exists; false, if not



^ Reaper version 5.77 Ultraschall version 4.00GetAllDirectoriesInPath

Functioncall:
Lua: integer filecount, array directories = ultraschall.GetAllDirectoriesInPath(string path)

Description:

returns the number of directories and the directorynames in path

returns -1, in case of error

Parameters:
string path the path to get the directories from

Returnvalues:
integer filecount the number of directories found in path
array files the directories found in path



^ Reaper version 5.77 Ultraschall version 4.00GetAllFilenamesInPath

Functioncall:
Lua: integer filecount, array files = ultraschall.GetAllFilenamesInPath(string path)

Description:

returns the number of files and the filenames in path

returns -1, in case of error

Parameters:
string path the path to get the filenames from

Returnvalues:
integer filecount the number of files found in path
array files the filenames found in path



^ Reaper version 5.965 Ultraschall version 4.00GetAllRecursiveFilesAndSubdirectories

Functioncall:
Lua: integer found_dirs, array dirs_array, integer found_files, array files_array = ultraschall.GetAllRecursiveFilesAndSubdirectories(string path)

Description:

Returns all subdirectories and files within a given path.

Might take some time with many folders/files.


Returns -1 in case of an error.

Parameters:
string path the path from where to retrieve the files and subdirectories

Returnvalues:
integer found_dirs the number of directories found; -1, in case of an error
array dirs_array the full path to the found directories as an array
integer found_files the number of files found
array files_array the full path to the found files as an array



^ Reaper version 5.40 Ultraschall version 4.00GetPath

Functioncall:
Lua: string path, string filename = ultraschall.GetPath(string str, optional string sep)

Description:

returns the path of a filename-string

returns "", "" in case of error

Parameters:
string str the path with filename you want to process
string sep a separator, with which the function knows, how to separate filename from path; nil to use the last useful separator in the string, which is either / or \\

Returnvalues:
string path the path as a string
string filename the filename, without the path



^ Reaper version 5.95 Ultraschall version 4.00GetReaperWorkDir

Functioncall:
Lua: string current_workdir = ultraschall.GetReaperWorkDir()

Description:

returns the current workdir, which is the directory. If you create a file without giving a path, this file will be created in this work-dir.

Returnvalues:
string current_workdir the current workdir of Reaper



^ Reaper version 5.95 Ultraschall version 4.00SetReaperWorkDir

Functioncall:
Lua: boolean retval = ultraschall.SetReaperWorkDir(string Path)

Description:

sets a new current working directory for Reaper. This requires a restart of Reaper to take effect, due API-limitations!
                        
returns false in case of an error

Parameters:
string Path the path to set as new current working directory

Returnvalues:
boolean retval true, if path could be set; false, if not




^ Reaper version 5.40 Ultraschall version 4.00MakeCopyOfFile

Functioncall:
Lua: boolean retval = ultraschall.MakeCopyOfFile(string input_filename_with_path, string output_filename_with_path)

Description:

Copies input_filename_with_path to output_filename_with_path.
Only textfiles! For binary-files use MakeCopyOfFile_Binary() instead!

Returns true, if it worked, false if it didn't.

Parameters:
string input_filename_with_path filename of the file to copy
string output_filename_with_path filename of the copied file to be created.

Returnvalues:
boolean retval true, if copy worked, false if it didn't.



^ Reaper version 5.40 Ultraschall version 4.00MakeCopyOfFile_Binary

Functioncall:
Lua: boolean retval = ultraschall.MakeCopyOfFile_Binary(string input_filename_with_path, string output_filename_with_path)

Description:

Copies input_filename_with_path to output_filename_with_path as binary-file.

returns false in case of an error

Parameters:
string input_filename_with_path filename of the file to copy
string output_filename_with_path filename of the copied file, that shall be created

Returnvalues:
boolean retval returns true, if copy worked; false if it didn't




^ Reaper version 6.12 Ultraschall version 4.2BatchConvertFiles

Functioncall:
Lua: boolean retval = ultraschall.BatchConvertFiles(table inputfilelist, table outputfilelist, table RenderTable, optional boolean BWFStart, optional integer PadStart, optional integer PadEnd, optional string FXStateChunk)

Description:

Converts files using Reaper's own BatchConverter.

This function will open another instance of Reaper that runs the batchconverter, so it will still open the batch-converter-list for the time of conversion.
Though as it is another instance, you can safely go back to the old instance of Reaper.

This function will probably NOT finish before the batch-converter is finished with conversion, keep this in mind.

Will take away the focus from the currently focused window, as Reaper puts keyboard-focus to the newly started Reaper-instance that does the batch-conversion.    

returns nil in case of an error

Parameters:
boolean retval true, conversion was successfully started; false, conversion didn't start

Returnvalues:
table inputfilelist a table of filenames+path, that shall be converted
table outputfilelist a table of the target filenames+path, where the first filename is the target for the first inputfilename, etc
table RenderTable the settings for the conversion; just use the render-table-functions to create one
optional boolean BWFStart true, include BWF-start; false or nil, don't include BWF-start
optional integer PadStart the start of the padding in seconds; nil, to omit it
optional integer PadEnd the end of the padding in seconds; nil, to omit it
optional string FXStateChunk an FXChain as FXStateChunk; with that you can add fx on top of the to-convert-files.



^ Reaper version 6.12 Ultraschall version 4.2BatchConvertFiles

Functioncall:
Lua: boolean retval = ultraschall.BatchConvertFiles(table inputfilelist, table outputfilelist, table RenderTable, optional boolean BWFStart, optional integer PadStart, optional integer PadEnd, optional string FXStateChunk)

Description:

Converts files using Reaper's own BatchConverter.

This function will open another instance of Reaper that runs the batchconverter, so it will still open the batch-converter-list for the time of conversion.
Though as it is another instance, you can safely go back to the old instance of Reaper.

This function will probably NOT finish before the batch-converter is finished with conversion, keep this in mind.

Will take away the focus from the currently focused window, as Reaper puts keyboard-focus to the newly started Reaper-instance that does the batch-conversion.    

returns nil in case of an error

Parameters:
boolean retval true, conversion was successfully started; false, conversion didn't start

Returnvalues:
table inputfilelist a table of filenames+path, that shall be converted
table outputfilelist a table of the target filenames+path, where the first filename is the target for the first inputfilename, etc
table RenderTable the settings for the conversion; just use the render-table-functions to create one
optional boolean BWFStart true, include BWF-start; false or nil, don't include BWF-start
optional integer PadStart the start of the padding in seconds; nil, to omit it
optional integer PadEnd the end of the padding in seconds; nil, to omit it
optional string FXStateChunk an FXChain as FXStateChunk; with that you can add fx on top of the to-convert-files.




^ Reaper version 5.40 Ultraschall version 4.00ReadBinaryFileFromPattern

Functioncall:
Lua: integer length, string content = ultraschall.ReadBinaryFileFromPattern(string input_filename_with_path, string pattern)

Description:

Returns a binary file, from pattern onwards. The pattern is not case-sensitive.

The pattern can also contain patterns for pattern matching. Refer the LUA-docs for pattern matching.
i.e. characters like ^$()%.[]*+-? must be escaped with a %, means: %[%]%(%) etc

returns -1 in case of an error

Parameters:
string filename_with_path filename of the file to be read
string pattern a pattern to search for. Case-sensitive.

Returnvalues:
integer length the length of the returned data
string content the content of the file, that has been read from pattern to the end



^ Reaper version 5.40 Ultraschall version 4.00ReadBinaryFileUntilPattern

Functioncall:
Lua: integer length, string content = ultraschall.ReadBinaryFileUntilPattern(string input_filename_with_path, string pattern)

Description:

Returns a binary file, up until a pattern. The pattern is not case-sensitive.

Pattern can also contain patterns for pattern matching. Refer the LUA-docs for pattern matching.
i.e. characters like ^$()%.[]*+-? must be escaped with a %, means: %[%]%(%) etc

returns -1 in case of an error

Parameters:
string filename_with_path filename of the file to be read
string pattern a pattern to search for. Case-sensitive.

Returnvalues:
integer length the length of the returned data
string content the content of the file, that has been read until pattern



^ Reaper version 5.40 Ultraschall version 4.00ReadBinaryFile_Offset

Functioncall:
Lua: integer length, string content = ultraschall.ReadBinaryFile_Offset(string input_filename_with_path, integer startoffset, integer numberofbytes)

Description:

Returns the contents of a binary file from startoffset until startoffset+numberofbytes.

When setting startoffset to a negative value, it will read from the end of the file, means:
-100 will start -100 characters before the end of the file and numberofbytes will read from that point on    

Returns -1, if file can not be opened.

Parameters:
string input_filename_with_path filename of the file to be read
integer startoffset the offset, at where to begin the fileread. 0 for the beginning of the file; negative values set offset from the end of the file
integer numberofbytes the number of bytes to read. -1 for until the end of the file. If there are fewer bytes than requested, the returned string will be shorter.

Returnvalues:
integer length the length of the returned part of the file, might be shorter than requested, if file ends before
string content the content of the file, that has been read



^ Reaper version 5.40 Ultraschall version 4.00ReadFileAsLines_Array

Functioncall:
Lua: array contents, boolean correctnumberoflines, integer number_of_lines = ultraschall.ReadFileAsLines_Array(string filename_with_path, integer firstlinenumber, integer lastlinenumber)

Description:

Return contents of filename_with_path, from firstlinenumber to lastlinenumber as an array. Counting of linenumbers starts with 1 for the first line.
The returned array contains all requested lines, which each entry holding one returned line.

Returns nil, if the linenumbers are invalid.

Parameters:
string filename_with_path filename of the file to be read
integer firstlinenumber the first linenumber to be returned. First line in the file begins with 1!
integer lastlinenumber the last linenumber to be returned; -1, read all lines in the file

Returnvalues:
array contents the contents the lines of the file, that you requested as an array, in which each entry hold one line of the file
boolean correctnumberoflines true, if the number of lines are returned, as you requested; false if fewer lines are returned
integer number_of_lines the number of lines returned



^ Reaper version 5.40 Ultraschall version 4.00ReadFullFile

Functioncall:
Lua: string contents, integer length_of_file, integer number_of_lines = ultraschall.ReadFullFile(string filename_with_path, boolean binary)

Description:

Return contents of filename_with_path.

Returns nil in case of an error.

Parameters:
string filename_with_path filename of the file to be read
boolean binary true if the file shall be read as a binary file; false if read as ASCII. Default is ASCII.

Returnvalues:
string contents the contents of the whole file.
integer length_of_file the number of bytes of the file
integer number_of_lines number of lines in file (-1 if parameter binary is set to true)



^ Reaper version 5.40 Ultraschall version 4.00ReadLinerangeFromFile

Functioncall:
Lua: string contents, boolean correctnumberoflines, integer number_of_lines = ultraschall.ReadLinerangeFromFile(string filename_with_path, integer firstlinenumber, integer lastlinenumber)

Description:

Return contents of filename_with_path, from firstlinenumber to lastlinenumber. Counting of linenumbers starts with 1 for the first line.
The returned string contains all requested lines, separated by a newline.

Returns nil, if the linenumbers are invalid.

Parameters:
string filename_with_path filename of the file to be read
integer firstlinenumber the first linenumber to be returned. First line in the file begins with 1!
integer lastlinenumber the last linenumber to be returned; -1, for the whole file

Returnvalues:
string contents the contents the lines of the file, that you requested
boolean correctnumberoflines true, if the number of lines are returned, as requested; false if fewer lines are returned
integer number_of_lines the number of read lines



^ Reaper version 5.965 Ultraschall version 4.00ReadSubtitles_SRT

Functioncall:
Lua: integer Captions_Counter, table Captions = ultraschall.ReadSubtitles_SRT(string filename_with_path)

Description:

parses an srt-subtitle-file and returns its contents as table

returns nil in case of an error

Parameters:
string filename_with_path the filename with path of the subrip srt-file

Returnvalues:
integer Captions_Counter the number of captions in the file
table Captions the Captions as a table of the format: Captions[index]["start"]= the starttime of this caption in seconds Captions[index]["end"]= the endtime of this caption in seconds Captions[index]["caption"]= the caption itself



^ Reaper version 5.965 Ultraschall version 4.1ReadSubtitles_VTT

Functioncall:
Lua: string Kind, string Language, integer Captions_Counter, table Captions = ultraschall.ReadSubtitles_VTT(string filename_with_path)

Description:

parses a webvtt-subtitle-file and returns its contents as table

returns nil in case of an error

Parameters:
string filename_with_path the filename with path of the webvtt-file

Returnvalues:
string Kind the type of the webvtt-file, like: captions
string Language the language of the webvtt-file
integer Captions_Counter the number of captions in the file
table Captions the Captions as a table of the format: Captions[index]["start"]= the starttime of this caption in seconds Captions[index]["end"]= the endtime of this caption in seconds Captions[index]["caption"]= the caption itself



^ Reaper version 5.40 Ultraschall version 4.00ReadValueFromFile

Functioncall:
Lua: string contents, string linenumbers, integer numberoflines, integer number_of_foundlines = ultraschall.ReadValueFromFile(string filename_with_path, string value)

Description:

Return contents of filename_with_path.

If "value" is given, it will return all lines, containing the value in the file "filename_with_path".
The second line-numbers return-value is very valuable when giving a "value". "Value" is not case-sensitive.
The value can also contain patterns for pattern matching. Refer the LUA-docs for pattern matching.
i.e. characters like ^$()%.[]*+-? must be escaped with a %, means: %[%]%(%) etc

Parameters:
string filename_with_path filename of the file to be read
string value the value to look in the file for. Not case-sensitive.

Returnvalues:
string contents the contents of the file, or the lines that contain parameter value in it, separated by a newline
string linenumbers a string, that contains the linenumbers returned as a , separated csv-string
integer numberoflines_in_file the total number of lines in the file
integer number_of_foundlines the number of found lines




^ Reaper version 5.99 Ultraschall version 4.00SaveSubtitles_SRT

Functioncall:
Lua: integer retval = ultraschall.SaveSubtitles_SRT(string subtitle_filename_with_path, table subtitle_table)

Description:

saves the subtitles from the subtitle-table.

The subtitles-table is expected to be of the following format:

    subtitle_table[subtitle_index]["start"]   = starttime in seconds
    subtitle_table[subtitle_index]["end"]     = endtime in seconds
    subtitle_table[subtitle_index]["caption"] = the caption, which shall be shown from start to end-time

returns -1 in case of an error

Parameters:
string subtitle_filename_with_path the filename of the subtitle-file, into which you want to store the subtitles
table Table the subtitle-table, which holds all captions and the start- and endtimes of displaying the caption

Returnvalues:
string guid the guid of the marker/region of the marker with a specific index



^ Reaper version 5.40 Ultraschall version 4.00WriteValueToFile

Functioncall:
Lua: integer retval = ultraschall.WriteValueToFile(string filename_with_path, string value, optional boolean binarymode, optional boolean append)

Description:

Writes value to filename_with_path. Will replace any previous content of the file if append is set to false. Returns -1 in case of failure, 1 in case of success.

returns -1 in case of an error

Parameters:
string filename_with_path the filename with it's path
string value the value to export, can be a long string that includes newlines and stuff. nil is not allowed!
boolean binarymode true or nil, it will store the value as binary-file; false, will store it as textstring
boolean append true, add the value to the end of the file; false or nil, write value to file and erase all previous data in the file

Returnvalues:
integer retval -1 in case of failure, 1 in case of success



^ Reaper version 5.40 Ultraschall version 4.00WriteValueToFile_Insert

Functioncall:
Lua: integer retval = ultraschall.WriteValueToFile_Insert(string filename_with_path, integer linenumber, string value)

Description:

Inserts value into a file at linenumber. All lines, up to linenumber-1 come before value, all lines at linenumber to the end of the file will come after value.
Will return -1, if no such line exists.

Note: non-binary-files only!

Parameters:
string filename_with_path filename to write the value to
integer linenumber the linenumber, at where to insert the value into the file
string value the value to be inserted into the file

Returnvalues:
integer retval 1, in case of success, -1 in case of error



^ Reaper version 5.40 Ultraschall version 4.00WriteValueToFile_InsertBinary

Functioncall:
Lua: integer retval = ultraschall.WriteValueToFile_InsertBinary(string filename_with_path, integer byteposition, string value)

Description:

Inserts value into a file at byteposition. All bytes, up to byteposition-1 come before value, all bytes at byteposition to the end of the file will come after value.
Will return -1, if no such line exists.

Note: good for binary files

Parameters:
string filename_with_path filename to write the value to
integer byteposition the byteposition, at where to insert the value into the file
string value the value to be inserted into the file

Returnvalues:
integer retval 1, in case of success, -1 in case of error



^ Reaper version 5.40 Ultraschall version 4.00WriteValueToFile_Replace

Functioncall:
Lua: integer retval = ultraschall.WriteValueToFile_Replace(string filename_with_path, integer startlinenumber, integer endlinenumber, string value)

Description:

Replaces the linenumbers startlinenumber to endlinenumber in a file with value. All lines, up to startlinenumber-1 come before value, all lines at endlinenumber+1 to the end of the file will come after value.
Will return -1, if no such lines exists.

Note: non-binary-files only!

Parameters:
string filename_with_path filename to write the value to
integer startlinenumber the first linenumber, to be replaced with value in the file
integer endlinenumber the last linenumber, to be replaced with value in the file
string value the value to be inserted into the file

Returnvalues:
integer retval 1, in case of success, -1 in case of error



^ Reaper version 5.40 Ultraschall version 4.00WriteValueToFile_ReplaceBinary

Functioncall:
Lua: integer retval = ultraschall.WriteValueToFile_ReplaceBinary(string filename_with_path, integer startbyteposition, integer endbyteposition, string value)

Description:

Replaces content in the file from startbyteposition to endbyteposition-1 with value. All bytes, up to startbyteposition-1 come before value, all bytes from (and including)endbyteposition to the end of the file will come after value.
Will return -1, if no such line exists.

Note: good for binary files

Parameters:
string filename_with_path filename to write the value to
integer startbyteposition the first byte in the file to be replaced, starting with 1, if you want to replace at the beginning of the file. Everything before startposition will be kept.
integer endbyteposition the first byte after the replacement. Everything from endbyteposition to the end of the file will be kept.
string value the value to be inserted into the file

Returnvalues:
integer retval 1, in case of success, -1 in case of error




^ Reaper version 6.02 JS version 0.998 Ultraschall version 4.00CaptureScreenAreaAsPNG

Functioncall:
Lua: boolean retval = ultraschall.CaptureScreenAreaAsPNG(string filename_with_path, integer x, integer y, integer w, integer h)

Description:

captures an area of the screen and writes it as png-file.

Note for Mac-users: it doesn't seem to work under certain circumstances, which are still under investigation.

returns false in case of an error

Parameters:
string filename_with_path the filename with path of the png-file to write
integer x the x-position of the area to capture
integer y the y-position of the area to capture
integer w the width of the area to capture
integer h the height of the area to capture

Returnvalues:
boolean retval true, capturing was successful; false, capturing was unsuccessful



^ Reaper version 6.02 JS version 0.998 Ultraschall version 4.00CaptureWindowAsPNG

Functioncall:
Lua: boolean retval = ultraschall.CaptureWindowAsPNG(identifier window_or_windowtitle, string filename_with_path, integer x, integer y, integer w, integer h, boolean win10)

Description:

captures a window and stores it as png-file.

Note for Windows-users with no Windows 10:
Keep in mind, that even if you choose a dedicated window, if it's located behind other windows, these might be captured as well.

Note for Mac-users: it doesn't seem to work under certain circumstances, which are still under investigation.

returns false in case of an error

Parameters:
identifier window_or_windowtitle either a hwnd or the exact windowtitle of the window, which you want to capture
string filename_with_path the filename with path of the output-file
integer x the x-position within the window to capture; nil, to use the left side of the window
integer y the y-position within the window to capture; nil, to use the top side of the window
integer w the width of the capture-area; nil, to use the width of the window
integer h the height of the capture-area; nil, to use the height of the window
boolean win10 true, use the workaround for invisible window-borders on windows 10; false, just capture the window

Returnvalues:
boolean retval true, capturing was successful; false, capturing was unsuccessful



^ Reaper version 6.02 JS version 1.215 Ultraschall version 4.1ConvertJPG2PNG

Functioncall:
Lua: integer count = ultraschall.ConvertJPG2PNG(string filename_with_path, string outputfilename_with_path, integer quality)

Description:

Converts a jpg to a png-imagefile.

returns false in case of an error

Parameters:
string filename_with_path the jpg-file, that you want to store as png
string outputfilename_with_path the output-file, where to store the png-file

Returnvalues:
boolean retval true, converting was successful; false, converting was unsuccessful



^ Reaper version 6.02 JS version 1.215 Ultraschall version 4.1ConvertPNG2JPG

Functioncall:
Lua: integer count = ultraschall.ConvertPNG2JPG(string filename_with_path, string outputfilename_with_path, integer quality)

Description:

Converts a png to a jpg-imagefile.

returns false in case of an error

Parameters:
string filename_with_path the png-file, that you want to convert into jpg
string outputfilename_with_path the output-file, where to store the jpg
integer quality the quality of the jpg in percent; 1 to 100

Returnvalues:
boolean retval true, converting was successful; false, converting was unsuccessful



^ Reaper version 6.02 JS version 1.215 Ultraschall version 4.1ResizeJPG

Functioncall:
Lua: boolean retval = ultraschall.ResizeJPG(string filename_with_path, string outputfilename_with_path, boolean aspectratio, integer width, integer height, integer quality)

Description:

resizes a jpg-file. It will stretch/shrink the picture by that. That means you can't crop or enhance jpgs with this function.

If you set aspectratio=true, then the image will be resized with correct aspect-ratio. However, it will use the value from parameter width as maximum size for each side of the picture.
So if the height of the jpgis bigger than the width, the height will get the size and width will be shrinked accordingly.

When making jpg bigger, pixelation will occur. No pixel-filtering within this function!

returns false in case of an error

Parameters:
string filename_with_path the jpg-file, that you want to resize
string outputfilename_with_path the output-file, where to store the resized jpg
boolean aspectratio true, keep aspect-ratio(use size of param width as base); false, don't keep aspect-ratio
integer width the width of the newly created jpg in pixels
integer height the height of the newly created jpg in pixels
integer quality the quality of the jpg in percent; 1 to 100

Returnvalues:
boolean retval true, resizing was successful; false, resizing was unsuccessful



^ Reaper version 6.02 JS version 0.998 Ultraschall version 4.00ResizePNG

Functioncall:
Lua: boolean retval = ultraschall.ResizePNG(string filename_with_path, string outputfilename_with_path, boolean aspectratio, integer width, integer height)

Description:

resizes a png-file. It will stretch/shrink the picture by that. That means you can't crop or enhance pngs with this function.

If you set aspectratio=true, then the image will be resized with correct aspect-ratio. However, it will use the value from parameter width as maximum size for each side of the picture.
So if the height of the png is bigger than the width, the height will get the size and width will be shrinked accordingly.

When making pngs bigger, pixelation will occur. No pixel-filtering within this function!

returns false in case of an error

Parameters:
string filename_with_path the png-file, that you want to resize
string outputfilename_with_path the output-file, where to store the resized png
boolean aspectratio true, keep aspect-ratio(use size of param width as base); false, don't keep aspect-ratio
integer width the width of the newly created png in pixels
integer height the height of the newly created png in pixels

Returnvalues:
boolean retval true, resizing was successful; false, resizing was unsuccessful




^ Reaper version 5.975 Ultraschall version 4.00Localize

Functioncall:
Lua: string translated_string, boolean retval = ultraschall.Localize(string original_string, ...)

Description:

Translates the string original_string into its translated version, as stored in a translation-file.

To set a translationfile, see Localize_UseFile.

If the string contains %s, the optional parameters "..." will replace them. The order of the parameters is the order of the replacement of the %s in the string.

If no translation is available, it returns the original string. In that case, %s in the string could be replaced by optional parameters ...

This function can be used with or without ultraschall. at the beginning, for your convenience.

see specs for more information.

returns nil in case of an error


Parameters:
string original_string the original string, that you want to translate
... optional parameters, who will be used to substitute %s in the returned string; order of the optional parameters reflects order of %s in the string

Returnvalues:
string translated_string the translated string; will be the original_string(with optional substitution), if translation is not possible
boolean retval true, translation-was successful; false, translation wasn't successful



^ Reaper version 5.975 Ultraschall version 4.00Localize_RefreshFile

Functioncall:
Lua: boolean retval = ultraschall.Localize_RefreshFile()

Description:

Reloads the translation-file, that has been set using Localize_UseFile.

see specs for more information.


Returnvalues:
boolean retval true, translation-file has been found and set successfully; false, translation-file hasn't been found



^ Reaper version 5.975 Ultraschall version 4.00Localize_UseFile

Functioncall:
Lua: boolean retval = ultraschall.Localize_UseFile(string filename, string section, string language)

Description:

Sets the localize-file and the section to use in the localize-file. If file cannot be found, the function will also look into resource-path/LangPack/ as well to find it.

The file is of the format: ;comment ;another comment [section] original text=translated text More Text with\nNewlines and %s - substitution=Translated Text with\nNewlines and %s - substitution A third\=example with escaped equal\=in it = translated text with escaped\=equaltext

see specs for more information.

returns false in case of an error


Parameters:
string filename the filename with path to the translationfile; if no path is given, it will look in resource-folder/LangPack for the translation-file
string section the section of the translation-file, from which to read the translated strings
string language the language, which will be put after filename and before extension, like mylangpack_de.USLangPack; us, usenglish es, spanish fr, french de, german jp, japanese etc

Returnvalues:
boolean retval true, translation-file has been found and set successfully; false, translation-file hasn't been found




^ Reaper version 5.77 Ultraschall version 4.00OpenItemInMidiEditor

Functioncall:
Lua: boolean retval = ultraschall.OpenItemInMidiEditor(MediaItem MediaItem)

Description:

opens a given MediaItem in the MIDI-Editor

returns false in case of an error

Parameters:
MediaItem MediaItem the MediaItem to be opened in the MIDI-Editor

Returnvalues:
boolean retval true, if opening was successful; false, if not



^ Reaper version 5.77 Ultraschall version 4.00ZoomHorizontal_MidiEditor

Functioncall:
Lua: boolean retval = ultraschall.ZoomHorizontal_MidiEditor(integer zoomamt, optional HWND midieditor_hwnd)

Description:

Zooms within the Midi-Editor horizontally.

returns false in case of an error

Parameters:
integer zoomamt the zoom-factor; positive values, zoom in; negative values, zoom out
optional HWND midieditor_hwnd the HWND of the MIDI-Editor, in which you want to zoom; nil, uses active MIDI-Editor

Returnvalues:
boolean retval true, if zooming was successful; false, if not



^ Reaper version 5.77 Ultraschall version 4.00ZoomVertical_MidiEditor

Functioncall:
Lua: boolean retval = ultraschall.ZoomVertical_MidiEditor(integer zoomamt, optional HWND midieditor_hwnd)

Description:

Zooms within the Midi-Editor vertically.

returns false in case of an error

Parameters:
integer zoomamt the zoom-factor; positive values, zoom in; negative values, zoom out
optional HWND midieditor_hwnd the HWND of the MIDI-Editor, in which you want to zoom; nil, uses active MIDI-Editor

Returnvalues:
boolean retval true, if zooming was successful; false, if not




^ Reaper version 5.965 Ultraschall version 4.00MIDI_SendMidiCC

Functioncall:
Lua: ultraschall.MIDI_SendMidiCC(integer Channel, integer Note, integer Velocity, optional integer Mode)

Description:

Sends a MIDI-CC-message to a specific channel with a specific velocity.


Parameters:
integer Channel the channel, to which the Midi-note shall be sent; 1-16
integer Note the note to be played; 0-127
integer Velocity the velocity of the note; 0-255
optional integer Mode 0 for VKB 1 for control (actions map etc) 2 for VKB-on-current-channel 16 for external MIDI device 0, 17 for external MIDI device 1, etc



^ Reaper version 5.965 Ultraschall version 4.00MIDI_SendMidiNote

Functioncall:
Lua: ultraschall.MIDI_SendMidiNote(integer Channel, integer Note, integer Velocity, optional integer Mode)

Description:

Sends a MIDI-note to a specific channel with a specific velocity.


Parameters:
integer Channel the channel, to which the Midi-note shall be sent; 1-16
integer Note the note to be played; 0-127
integer Velocity the velocity of the note; 0-255
optional integer Mode 0 for VKB 1 for control (actions map etc) 2 for VKB-on-current-channel 16 for external MIDI device 0, 17 for external MIDI device 1, etc



^ Reaper version 5.965 Ultraschall version 4.00MIDI_SendMidiPC

Functioncall:
Lua: ultraschall.MIDI_SendMidiPC(integer Channel, integer Note, integer Velocity, optional integer Mode)

Description:

Sends a MIDI-PC-message to a specific channel with a specific velocity.


Parameters:
integer Channel the channel, to which the Midi-note shall be sent; 1-16
integer Note the note to be played; 0-127
integer Velocity the velocity of the note; 0-255
optional integer Mode 0 for VKB 1 for control (actions map etc) 2 for VKB-on-current-channel 16 for external MIDI device 0, 17 for external MIDI device 1, etc



^ Reaper version 5.965 Ultraschall version 4.00MIDI_SendMidiPitch

Functioncall:
Lua: ultraschall.MIDI_SendMidiPitch(integer Channel, integer Pitch, optional integer Mode)

Description:

Sends a MIDI-Pitch-message to a specific channel with a specific velocity.


Parameters:
integer Channel the channel, to which the Midi-pitch shall be sent; 1-16
integer Pitch the pitchbend of the note; 0-127
optional integer Mode 0 for VKB 1 for control (actions map etc) 2 for VKB-on-current-channel 16 for external MIDI device 0, 17 for external MIDI device 1, etc



^ Reaper version 6.02 SWS version 2.10.0.1 Ultraschall version 4.00QueryMIDIMessageNameByID

Functioncall:
Lua: string midimessage_name = ultraschall.QueryMIDIMessageNameByID(integer modifier, integer key)

Description:

Returns the name of the MIDI-message, as used by Reaper's function StuffMIDIMessage.

Just pass over the first and second value. The last one is always velocity, which is ~=0 for it to be accepted. However, some codes don't have a name associated. In that case, this function returns "-1"

Only returns the names for mode 1 and english on Windows!

returns nil in case of an error


Parameters:
integer modifier the modifier value, which is the second parameter of StuffMIDIMessage
integer key the key value, which is the third parameter of StuffMIDIMessage

Returnvalues:
string midimessage_name the actual name of the midi-message, like "A" or "F1" or "Ctrl+Alt+Shift+Win+PgUp".




^ Reaper version 6.02 Ultraschall version 4.00MoveFileOrFolder

Functioncall:
Lua: boolean retval = ultraschall.MoveFileOrFolder(string file_foldername, string oldpath, string newpath)

Description:

Moves a file or folder from oldpath to newpath.

returns false in case of an error

Parameters:
string file_foldername the folder- or filename, which you want to move
string oldpath the old path, in which the file or folder is located
string newpath the new path, into which the file or folder shall be moved

Returnvalues:
boolean retval true, moving was successful; false, moving was unsuccessful




^ Reaper version 5.40 Ultraschall version 4.00CountMarkersAndRegions

Functioncall:
Lua: integer count_markers, integer count_regions = ultraschall.CountMarkersAndRegions()

Description:

Returns the position of the last projectmarker in the project(no regions or time-sig-markers!).
Use GetMarkerAndRegionsByIndex to enumerate markers or regions in particular.

Returns -1 in case of no markers available

Returnvalues:
integer count_markers the number of markers available in the project
integer count_regions the number of regions available in the project



^ Reaper version 6.02 Ultraschall version 4.00GetGuidFromMarkerID

Functioncall:
Lua: string guid = ultraschall.GetGuidFromMarkerID(integer index)

Description:

Gets the corresponding marker-guid of a marker with a specific index

The index is for all markers and regions, inclusive and 1-based

returns -1 in case of an error

Parameters:
integer index the index of the marker/region, whose guid you want to retrieve

Returnvalues:
string guid the guid of the marker/region of the marker with a specific index



^ Reaper version 6.02 Ultraschall version 4.00GetMarkerByScreenCoordinates

Functioncall:
Lua: string marker = ultraschall.GetMarkerByScreenCoordinates(integer xmouseposition)

Description:

returns the markers at a given absolute-x-pixel-position. It sees markers according their graphical representation in the arrange-view, not just their position! Returned string will be "Markeridx\npos\nName\nMarkeridx2\npos2\nName2\n...".
Will return "", if no marker has been found.

Returns only markers, no time markers or regions!

returns nil in case of an error

Parameters:
integer xmouseposition the absolute x-screen-position, like current mouse-position

Returnvalues:
string marker a string with all markernumbers, markerpositions and markertitles, separated by a newline. Can contain numerous markers, if there are more markers in one position.



^ Reaper version 6.02 Ultraschall version 4.00GetMarkerByTime

Functioncall:
Lua: string markers = ultraschall.GetMarkerByTime(number position)

Description:

returns the markers at a given project-position in seconds.
It sees markers according their actual graphical representation in the arrange-view, not just their position.
If, for example, you pass to it the current playposition, the function will return the marker as long as the playcursor is behind the marker-graphics.

Returned string will be "Markeridx\npos\nName\nMarkeridx2\npos2\nName2\n...".
Will return "", if no marker has been found.

Returns only markers, no time markers or regions!

returns nil in case of an error

Parameters:
number position the time-position in seconds

Returnvalues:
string marker a string with all markernumbers, markerpositions and markertitles, separated by a newline. Can contain numerous markers, if there are more markers in one position.



^ Reaper version 6.02 Ultraschall version 4.00GetMarkerIDFromGuid

Functioncall:
Lua: integer index = ultraschall.GetMarkerIDFromGuid(string guid)

Description:

Gets the corresponding indexnumber of a marker-guid

The index is for all markers and regions, inclusive and 1-based

returns -1 in case of an error

Parameters:
string guid the guid of the marker/region, whose index-number you want to retrieve

Returnvalues:
integer index the index of the marker/region, whose guid you have passed to this function



^ Reaper version 5.95 SWS version 2.9.7 Ultraschall version 4.00GetMarkerUpdateCounter

Functioncall:
Lua: integer marker_update_counter = ultraschall.GetMarkerUpdateCounter()

Description:

returns the number of times, a marker in any project has been updated since Reaper started.
Counts up, if a marker is added, set, moved, deleted from any project opened in Reaper.

This counter includes already closed projects as well

Returnvalues:
integer marker_update_counter the number of times a marker in any project in Reaper has been updated



^ Reaper version 5.965 Ultraschall version 4.00GetNextFreeRegionIndex

Functioncall:
Lua: integer free_shown_number = ultraschall.GetNextFreeRegionIndex()

Description:

returns the next unused region-index-number, beginning with 0.


Returnvalues:
integer free_shown_number the next free/unused region-index-number



^ Reaper version 6.02 Ultraschall version 4.00GetRegionByScreenCoordinates

Functioncall:
Lua: string markers = ultraschall.GetRegionByScreenCoordinates(integer xmouseposition)

Description:

returns the regions at a given absolute-x-pixel-position. It sees regions according their graphical representation in the arrange-view, not just their position! Returned string will be "Regionidx\npos\nName\nRegionidx2\npos2\nName2\n...".
Returns only regions, no time markers or other markers!
Will return "", if no region has been found.
    
returns nil in case of an error

Parameters:
integer xmouseposition the absolute x-screen-position, like current mouse-position

Returnvalues:
string marker a string with all regionnumbers, regionpositions and regionnames, separated by a newline. Can contain numerous regions, if there are more regions in one position.



^ Reaper version 6.02 Ultraschall version 4.00GetRegionByTime

Functioncall:
Lua: string markers = ultraschall.GetRegionByTime(number position)

Description:

returns the regions at a given absolute-x-pixel-position. It sees regions according their graphical representation in the arrange-view, not just their position! Returned string will be "Regionidx\npos\nName\nRegionidx2\npos2\nName2\n...".
Returns only regions, no timesignature-markers or other markers!
Will return "", if no region has been found.

returns nil in case of an error

Parameters:
number position position in seconds

Returnvalues:
string marker a string with all regionnumbers, regionpositions and regionnames, separated by a newline. Can contain numerous regions, if there are more regions in one position.



^ Reaper version 6.02 Ultraschall version 4.00GetTimeSignaturesByScreenCoordinates

Functioncall:
Lua: string markers = ultraschall.GetTimeSignaturesByScreenCoordinates(integer xmouseposition)

Description:

returns the time-signature/tempo-marker at a given absolute-x-pixel-position. It sees time-signature/tempo-markers according their graphical representation in the arrange-view, not just their position! Returned string will be "tempomarkeridx\npos\ntempomarkeridx2\npos2\n...".
Returns only time-signature-markers, no regions or other markers!
Will return "", if no timesig-marker has been found.
    
returns nil in case of an error

Parameters:
integer xmouseposition the absolute x-screen-position, like current mouse-position

Returnvalues:
string marker a string with all markernumbers and markerpositions, separated by a newline. Can contain numerous markers, if there are more markers in one position.



^ Reaper version 6.02 Ultraschall version 4.00GetTimeSignaturesByTime

Functioncall:
Lua: string markers = ultraschall.GetTimeSignaturesByTime(number position)

Description:

returns the time-signature/tempo-marker at a given absolute-x-pixel-position. It sees time-signature/tempo-markers according their graphical representation in the arrange-view, not just their position! Returned string will be "tempomarkeridx\npos\ntempomarkeridx2\npos2\n...".
Returns only time-signature-markers, no other markers or regions!
Will return "", if no timesig-marker has been found.

returns nil in case of an error

Parameters:
number position position in seconds

Returnvalues:
string marker a string with all markernumbers and markerpositions, separated by a newline. Can contain numerous markers, if there are more markers in one position.



^ Reaper version 5.40 Ultraschall version 4.00IsMarkerAtPosition

Functioncall:
Lua: boolean retval, integer count, string markersstring, array markersarray = ultraschall.IsMarkerAtPosition(number position)

Description:

returns, if markers are at position and returns the marker-numbers.

The marker-numbers are numerated by order, not the shown marker-numbers!

returns false in case of error

Parameters:
number position the position to check for markers in seconds; only positive numbers

Returnvalues:
boolean retval true, if the function found marker(s); false, if no markers are available at position
integer count the count of markers at position
string markersstring a string with all the markernumbers, separated by a ,
array markersarray an array with each entry consisting a markernumber



^ Reaper version 5.40 Ultraschall version 4.00IsRegionAtPosition

Functioncall:
Lua: boolean retval, integer count, string regionsstring, array regionsarray = ultraschall.IsRegionAtPosition(number position)

Description:

returns, if regions are at position and returns the region-numbers.

The region-numbers are numerated by order, not the shown region-numbers!

returns false in case of error

Parameters:
number position the position to check for regions in seconds; only positive numbers

Returnvalues:
boolean retval true, if the function found region(s); false, if no regions are available at position
integer count the count of regions at position
string regionsstring a string with all the regionnumbers, separated by a ,
array regionsarray an array with each entry consisting a regionnumber



^ Reaper version 6.20 Ultraschall version 4.2MoveMarkersBy

Functioncall:
Lua: integer retval = ultraschall.MoveMarkersBy(number startposition, number endposition, number moveby, boolean cut_at_borders)

Description:

Moves the markers between startposition and endposition by moveby.

Does NOT move regions and time-signature-markers!

Returns -1 in case of failure.

Parameters:
number startposition the startposition in seconds
number endposition the endposition in seconds
number moveby in seconds, negative values: move toward beginning of project, positive values: move toward the end of project
boolean cut_at_borders shortens or cuts markers, that leave the section between startposition and endposition when applying moveby

Returnvalues:
integer retval -1 in case of failure



^ Reaper version 5.40 Ultraschall version 4.00MoveRegionsBy

Functioncall:
Lua: integer retval = ultraschall.MoveRegionsBy(number startposition, number endposition, number moveby, boolean cut_at_borders)

Description:

Moves the regions between startposition and endposition by moveby.
Will affect only regions, who start within start and endposition. It will not affect those, who end within start and endposition but start before startposition.

Does NOT move markers and time-signature-markers!

Returns -1 in case of failure.

Parameters:
number startposition the startposition in seconds
number endposition the endposition in seconds
number moveby in seconds, negative values: move toward beginning of project, positive values: move toward the end of project
boolean cut_at_borders shortens or cuts markers, that leave the section between startposition and endposition

Returnvalues:
integer retval -1 in case of failure



^ Reaper version 5.52 Ultraschall version 4.00ParseMarkerString

Functioncall:
Lua: integer number_of_entries, array markerarray = ultraschall.ParseMarkerString(string markerstring, boolean strict)

Description:

Parses the entries in markerstring for timestrings and markertitles.
It returns the number of entries as well as a table with all marker-information.
The table works as such:

markertable[1][markernumber] - the timestring of the marker, -1 if no time is available
markertable[2][markernumber] - the time, converted into position in seconds, -1 if no time is available
markertable[3][markernumber] - the name of the marker

returns -1 in case of an error

Parameters:
string markerstring a string with all markers. An entry is "timestring markertitle\n". Each marker-entry must be separated by a newline from each other.
boolean strict interpret the time in timestring more strict or more loosely? true, the time in markerstring must follow the format hh:mm:ss.mss , e.g. 11:22:33.444 false, the time can be more flexible, leading to possible misinterpretation of indexnumbers as time/seconds

Returnvalues:
integer number_of_entries the number of markers in markerstring
array markerarray a table with all the information of a marker markertable[1][markernumber] - the timestring of the marker, -1 if no time is available markertable[2][markernumber] - the time, converted into position in seconds, -1 if no time is available markertable[3][markernumber] - the name of the marker



^ Reaper version 5.52 Ultraschall version 4.00RenumerateMarkers

Functioncall:
Lua: integer retval = ultraschall.RenumerateMarkers(integer colorvalue, integer startingnumber)

Description:

Renumbers the shown numbers of markers(not regions!) in the current project, that have the color colorvalue.
The numbering starts with the number startingnumber.

The markers will be renumbered from the earliest marker in the project to the latest one.

returns -1 in case of an error

Parameters:
integer colorvalue the (systemdependent)colorvalue a marker must have. -1 if you want all markers to be numbered. Keep in mind, that colors are differently interpreted on Mac compared to Windows!
integer startingnumber the first number that shall be given.

Returnvalues:
integer retval -1 in case of error, nil in case of success




^ Reaper version 6.02 Ultraschall version 4.00AddCustomMarker

Functioncall:
Lua: boolean retval, integer markernumber, string guid = ultraschall.AddCustomMarker(string custom_marker_name, number pos, string name, integer shown_number, integer color)

Description:

Will add new custom-marker with a certain name.

A custom-marker has the naming-scheme

_customname: text for this marker

You just need to pass customname to this function, leaving out the preceding _ and the trailing : Exception: if the custom-marker has the name

__customname:: test for this marker

Example:

The custom-marker VanillaChief has the custom_marker_name VanillaChief and will be shown as _VanillaChief: text in the project. So you pass VanillaChief to this function to get all _VanillaChief:-markers.

Will not add custom-regions, use AddCustomRegion instead.

returns false in case of an error


Parameters:
string custom_marker_name the name of the custom-marker. Don't include the _ at the beginning and the : at the end, or it might not be found. Exception: Your custom-marker is called "__CustomMarker::"; nil, adds a normal marker
number pos the position of the marker in seconds
string name the name of the marker, exluding the custom-marker-name
integer shown_number the markernumber, that is displayed in the timeline of the arrangeview
integer color the color of the marker

Returnvalues:
boolean retval true, if adding the custom-marker was successful; false, if not or an error occurred
integer markernumber the indexnumber of the newly added custommarker
string guid the guid of the custommarker



^ Reaper version 6.02 Ultraschall version 4.00AddCustomRegion

Functioncall:
Lua: boolean retval, integer shown_number, integer markerindex, string guid = ultraschall.AddCustomRegion(string custom_region_name, number pos, number regionend, string name, integer shown_number, integer color)

Description:

Will add new custom-region with a certain name.

A custom-region has the naming-scheme

_customname: text for this region

You just need to pass customname to this function, leaving out the preceding _ and the trailing : Exception: if the custom-region has the name

__customname:: test for this region

Example:

The custom-region VanillaChief has the custom_region_name VanillaChief and will be shown as _VanillaChief: text in the project. So you pass VanillaChief to this function to get all _VanillaChief:-regions.

Will not add custom-markers, use AddCustomMarker instead.

returns false in case of an error


Parameters:
string custom_marker_name the name of the custom-region. Don't include the _ at the beginning and the : at the end, or it might not be found. Exception: Your custom-region is called "__CustomRegion::"; nil, make it a normal regionname
number pos the position of the region in seconds
number regionend the endposition of the region in seconds
string name the name of the region, exluding the custom-region-name
integer shown_number the regionnumber, that is displayed in the timeline of the arrangeview
integer color the color of the marker

Returnvalues:
boolean retval true, if adding the custom-region was successful; false, if not or an error occurred
integer shown_number if the desired shown_number is already used by another region, this will hold the alternative number for the new custom-region
integer markernumber the indexnumber of the newly added customregion
string guid the guid of the customregion



^ Reaper version 5.965 Ultraschall version 4.2CountAllCustomMarkers

Functioncall:
Lua: integer count = ultraschall.CountAllCustomMarkers(string custom_marker_name)

Description:

Will count all custom-markers with a certain name.

A custom-marker has the naming-scheme

_customname: text for this marker

You just need to pass customname to this function, leaving out the preceding _ and the trailing : Exception: if the custom-marker has the name

__customname:: test for this marker

Example:

The custom-marker VanillaChief has the custom_marker_name VanillaChief and will be shown as _VanillaChief: text in the project. So you pass VanillaChief to this function to get all _VanillaChief:-markers.

Will not count custom-regions, use CountAllCustomRegions instead.

returns -1 in case of an error


Parameters:
string custom_marker_name the name of the custom-marker. Don't include the _ at the beginning and the : at the end, or it might not be found. Exception: Your custom-marker is called "__CustomMarker::" Lua-pattern-matching-expressions are allowed. This parameter is NOT case-sensitive. "" counts all custom markers, regardless of their name

Returnvalues:
integer count the number of found markers; -1, in case of an error



^ Reaper version 5.965 Ultraschall version 4.2CountAllCustomRegions

Functioncall:
Lua: integer count = ultraschall.CountAllCustomRegions(string custom_region_name)

Description:

Will count all custom-regions with a certain name.

A custom-region has the naming-scheme

_customname: text for this region

You just need to pass customname to this function, leaving out the preceding _ and the trailing : Exception: if the custom-region has the name

__customname:: test for this region

Example:

The custom-region VanillaChief has the custom_region_name VanillaChief and will be shown as _VanillaChief: text in the project. So you pass VanillaChief to this function to get all _VanillaChief:-regions.

Will not count custom-markers, use CountAllCustomMarkers instead.

returns -1 in case of an error


Parameters:
string custom_region_name the name of the custom-region. Don't include the _ at the beginning and the : at the end, or it might not be found. Exception: Your custom-region is called "__CustomRegion::" Lua-pattern-matching-expressions are allowed. This parameter is NOT case-sensitive. "" will count all custom-regions, regardless of their names

Returnvalues:
integer count the number of found regions; -1, in case of an error



^ Reaper version 5.965 Ultraschall version 4.2DeleteCustomMarkers

Functioncall:
Lua: boolean retval, integer marker_index, number pos, string name, integer shown_number, integer color = ultraschall.DeleteCustomMarkers(string custom_marker_name, integer idx)

Description:

Will delete a specific custom-marker with a certain name.

A custom-marker has the naming-scheme

_customname: text for this marker

You just need to pass customname to this function, leaving out the preceding _ and the trailing : Exception: if the custom-marker has the name

__customname:: test for this marker

Example:

The custom-marker VanillaChief has the custom_marker_name VanillaChief and will be shown as _VanillaChief: text in the project. So you pass VanillaChief to this function to get all _VanillaChief:-markers.

Will not delete custom-regions, use DeleteCustomRegions instead.

returns false in case of an error


Parameters:
string custom_marker_name the name of the custom-marker. Don't include the _ at the beginning and the : at the end, or it might not be found. Exception: Your custom-marker is called "__CustomMarker::" Lua-pattern-matching-expressions are allowed. This parameter is NOT case-sensitive. "" will delete over all custom-markers available, regardless of their name
integer idx the index of the marker within all same-named custom-markers; 0, for the first custom-marker

Returnvalues:
boolean retval true, if the custom-marker exists; false, if not or an error occurred
integer marker_index the index of the marker within all markers and regions, as positioned in the project, with 0 for the first, 2 for the second, etc
number pos the position of the marker in seconds
string name the name of the marker, exluding the custom-marker-name
integer shown_number the markernumber, that is displayed in the timeline of the arrangeview
integer color the color of the marker



^ Reaper version 5.965 Ultraschall version 4.2DeleteCustomRegions

Functioncall:
Lua: boolean retval, integer marker_index, number pos, number regionend, string name, integer shown_number, integer color = ultraschall.DeleteCustomRegions(string custom_marker_name, integer idx)

Description:

Deletes a specific custom-region with a certain name.

A custom-region has the naming-scheme

_customname: text for this region

You just need to pass customname to this function, leaving out the preceding _ and the trailing : Exception: if the custom-region has the name

__customname:: test for this region

Example:

The custom-region VanillaChief has the custom_region_name VanillaChief and will be shown as _VanillaChief: text in the project. So you pass VanillaChief to this function to get all _VanillaChief:-regions.

Will not delete custom-markers, use DeleteCustomMarkers instead.

returns false in case of an error


Parameters:
string custom_region_name the name of the custom-region. Don't include the _ at the beginning and the : at the end, or it might not be found. Exception: Your custom-region is called "__CustomRegion::" Lua-pattern-matching-expressions are allowed. This parameter is NOT case-sensitive. "" will delete over all custom-regions available, regardless of their name
integer idx the index of the region within all same-named custom-regions; 0, for the first custom-region

Returnvalues:
boolean retval true, if the custom-region exists; false, if not or an error occurred
integer marker_index the index of the marker within all markers and regions, as positioned in the project, with 0 for the first, 2 for the second, etc
number pos the position of the region in seconds
number rgnend the end of the region in seconds
string name the name of the region, exluding the custom-region-name
integer shown_number the regionnumber, that is displayed in the timeline of the arrangeview
integer color the color of the region



^ Reaper version 6.02 Ultraschall version 4.2EnumerateCustomMarkers

Functioncall:
Lua: boolean retval, integer marker_index, number pos, string name, integer shown_number, integer color = ultraschall.EnumerateCustomMarkers(string custom_marker_name, integer idx)

Description:

Will return a specific custom-marker with a certain name.

A custom-marker has the naming-scheme

_customname: text for this marker

You just need to pass customname to this function, leaving out the preceding _ and the trailing : Exception: if the custom-marker has the name

__customname:: test for this marker

Example:

The custom-marker VanillaChief has the custom_marker_name VanillaChief and will be shown as _VanillaChief: text in the project. So you pass VanillaChief to this function to get all _VanillaChief:-markers.

Will not enumerate custom-regions, use EnumerateCustomRegions instead.

returns false in case of an error


Parameters:
string custom_marker_name the name of the custom-marker. Don't include the _ at the beginning and the : at the end, or it might not be found. Exception: Your custom-marker is called "__CustomMarker::" Lua-pattern-matching-expressions are allowed. This parameter is NOT case-sensitive. "" will enumerate over all existing custom-markers
integer idx the index of the marker within all same-named custom-markers; 0, for the first custom-marker

Returnvalues:
boolean retval true, if the custom-marker exists; false, if not or an error occurred
integer marker_index the index of the marker within all markers and regions, as positioned in the project, with 0 for the first, 2 for the second, etc
number pos the position of the marker in seconds
string name the name of the marker, exluding the custom-marker-name
integer shown_number the markernumber, that is displayed in the timeline of the arrangeview
integer color the color of the marker
string guid the guid of the custom-marker



^ Reaper version 6.02 Ultraschall version 4.2EnumerateCustomRegions

Functioncall:
Lua: boolean retval, integer marker_index, number pos, number regionend, string name, integer shown_number, integer color, string guid = ultraschall.EnumerateCustomRegions(string custom_marker_name, integer idx)

Description:

Will return a specific custom-region with a certain name.

A custom-region has the naming-scheme

_customname: text for this region

You just need to pass customname to this function, leaving out the preceding _ and the trailing : Exception: if the custom-region has the name

__customname:: test for this region

Example:

The custom-region VanillaChief has the custom_region_name VanillaChief and will be shown as _VanillaChief: text in the project. So you pass VanillaChief to this function to get all _VanillaChief:-regions.

Will not enumerate custom-markers, use EnumerateCustomMarkers instead.

returns false in case of an error


Parameters:
string custom_region_name the name of the custom-region. Don't include the _ at the beginning and the : at the end, or it might not be found. Exception: Your custom-region is called "__CustomRegion::" Lua-pattern-matching-expressions are allowed. This parameter is NOT case-sensitive.
integer idx the index of the region within all same-named custom-regions; 0, for the first custom-region

Returnvalues:
boolean retval true, if the custom-region exists; false, if not or an error occurred
integer marker_index the index of the marker within all markers and regions, as positioned in the project, with 0 for the first, 2 for the second, etc
number pos the position of the region in seconds
number rgnend the end of the region in seconds
string name the name of the region, exluding the custom-region-name
integer shown_number the regionnumber, that is displayed in the timeline of the arrangeview
integer color the color of the region
string guid the guid of the custom-region



^ Reaper version 6.02 Ultraschall version 4.2GetAllCustomMarkerNames

Functioncall:
Lua: integer count, table custom_marker_names = ultraschall.GetAllCustomMarkerNames()

Description:

Will return all names of all available custom-markers.

Returnvalues:
integer count the number of found markers; -1, in case of an error
table custom_marker_names a table with all found custom-markernames.



^ Reaper version 6.02 Ultraschall version 4.2GetAllCustomMarkers

Functioncall:
Lua: integer count, table marker_array = ultraschall.GetAllCustomMarkers(string custom_marker_name)

Description:

Will return all custom-markers with a certain name.

A custom-marker has the naming-scheme

_customname: text for this marker

You just need to pass customname to this function, leaving out the preceding _ and the trailing : Exception: if the custom-marker has the name

__customname:: test for this marker

Example:

The custom-marker VanillaChief has the custom_marker_name VanillaChief and will be shown as _VanillaChief: text in the project. So you pass VanillaChief to this function to get all _VanillaChief:-markers.

Will not check custom-regions, use GetAllCustomRegions instead.

returns -1 in case of an error


Parameters:
string custom_marker_name the name of the custom-marker. Don't include the _ at the beginning and the : at the end, or it might not be found. Exception: Your custom-marker is called "__CustomMarker::" Lua-pattern-matching-expressions are allowed. This parameter is NOT case-sensitive. "" will return all custom marker

Returnvalues:
integer count the number of found markers; -1, in case of an error
table marker_array an array with all found custom-markers. It follows the scheme: marker_array[index]["index"] - index of the marker, in timeline-order, with 0 for the first in the project marker_array[index]["pos"] - position of the marker in seconds marker_array[index]["name"] - name of the marker, excluding the custom-marker-name marker_array[index]["shown_number"] - the number of the marker, that is displayed in the timeline marker_array[index]["color"] - color-value of the marker marker_array[index]["guid"] - the guid of the marker



^ Reaper version 6.02 Ultraschall version 4.2GetAllCustomRegionNames

Functioncall:
Lua: integer count, table custom_region_names = ultraschall.GetAllCustomRegionNames()

Description:

Will return all names of all available custom-regions.

Returnvalues:
integer count the number of found markers; -1, in case of an error
table custom_region_names a table with all found custom-regionnames.



^ Reaper version 6.02 Ultraschall version 4.2GetAllCustomRegions

Functioncall:
Lua: integer count, table marker_array = ultraschall.GetAllCustomRegions(string custom_region_name)

Description:

Will return all custom-regions with a certain name.

A custom-region has the naming-scheme

_customname: text for this region

You just need to pass customname to this function, leaving out the preceding _ and the trailing : Exception: if the custom-region has the name

__customname:: test for this region

Example:

The custom-region VanillaChief has the custom_region_name VanillaChief and will be shown as _VanillaChief: text in the project. So you pass VanillaChief to this function to get all _VanillaChief:-regions.

Will not check custom-markers, use GetAllCustomMarkers instead.

returns -1 in case of an error


Parameters:
string custom_region_name the name of the custom-region. Don't include the _ at the beginning and the : at the end, or it might not be found. Exception: Your custom-region is called "__CustomRegion::" Lua-pattern-matching-expressions are allowed. This parameter is NOT case-sensitive. "" will return all custom-regions

Returnvalues:
integer count the number of found regions; -1, in case of an error
table region_array an array with all found custom-markers. It follows the scheme: region_array[index]["index"] - index of the region, in timeline-order, with 0 for the first in the project region_array[index]["pos"] - position of the region in seconds region_array[index]["regionend"] - the endposition of the region in seconds region_array[index]["name"] - name of the region, excluding the custom-region-name region_array[index]["shown_number"] - the number of the region, that is displayed in the timeline region_array[index]["color"] - color-value of the region region_array[index]["guid"] - the guid of the region



^ Reaper version 5.965 Ultraschall version 4.2IsMarkerValidCustomMarker

Functioncall:
Lua: boolean retval = ultraschall.IsMarkerValidCustomMarker(string custom_marker_name, integer markeridx)

Description:

returns true, if the marker with id markeridx is a valid custom-marker of the type custommarkername

markeridx is the index of all markers and regions!

returns false in case of an error


Returnvalues:
boolean retval true, marker is a valid custom-marker of type custom_marker_name; false, it is not or an error occurred



^ Reaper version 5.965 Ultraschall version 4.2IsRegionValidCustomRegion

Functioncall:
Lua: boolean retval = ultraschall.IsRegionValidCustomRegion(string custom_region_name, integer markeridx)

Description:

returns true, if the marker with id markeridx is a valid custom-region of the type customregionname

markeridx is the index of all markers and regions!

returns false in case of an error


Returnvalues:
boolean retval true, marker is a valid custom-region of type custom_region_name; false, it is not or an error occurred



^ Reaper version 5.965 Ultraschall version 4.2SetCustomMarker

Functioncall:
Lua: boolean retval = ultraschall.SetCustomMarker(string custom_marker_name, integer idx, number pos, string name, integer shown_number, integer color)

Description:

Will set attributes of an already existing custom-marker with a certain name.

A custom-marker has the naming-scheme

_customname: text for this marker

You just need to pass customname to this function, leaving out the preceding _ and the trailing : Exception: if the custom-marker has the name

__customname:: test for this marker

Example:

The custom-marker VanillaChief has the custom_marker_name VanillaChief and will be shown as _VanillaChief: text in the project. So you pass VanillaChief to this function to get all _VanillaChief:-markers.

Will not set custom-regions, use SetCustomRegion instead.

returns false in case of an error


Parameters:
string custom_marker_name the name of the custom-marker. Don't include the _ at the beginning and the : at the end, or it might not be found. Exception: Your custom-marker is called "__CustomMarker::"; nil, make it a normal marker "" will use idx over all custom-markers, regardless of their name
integer idx the index-number of the custom-marker within all custom-markers
number pos the position of the marker in seconds
string name the name of the marker, exluding the custom-marker-name
integer shown_number the markernumber, that is displayed in the timeline of the arrangeview
integer color the color of the marker

Returnvalues:
boolean retval true, if setting the new attributes of the custom-marker was successful; false, if not or an error occurred



^ Reaper version 5.965 Ultraschall version 4.2SetCustomRegion

Functioncall:
Lua: boolean retval, integer shown_number = ultraschall.SetCustomRegion(string custom_region_name, integer idx, number pos, number regionend, string name, integer shown_number, integer color)

Description:

Will set an already existing custom-region with a certain name.

A custom-region has the naming-scheme

_customname: text for this region

You just need to pass customname to this function, leaving out the preceding _ and the trailing : Exception: if the custom-region has the name

__customname:: test for this region

Example:

The custom-region VanillaChief has the custom_region_name VanillaChief and will be shown as _VanillaChief: text in the project. So you pass VanillaChief to this function to get all _VanillaChief:-regions.

Will not add custom-markers, use AddCustomMarker instead.

returns false in case of an error, like the desired shown_number is already taken by another region


Parameters:
string custom_marker_name the name of the custom-region. Don't include the _ at the beginning and the : at the end, or it might not be found. Exception: Your custom-region is called "__CustomRegion::" "" will use idx over all custom-markers, regardless of their name
integer idx the index of the custom region to change
number pos the position of the region in seconds
string name the name of the region, exluding the custom-region-name
integer shown_number the regionnumber, that is displayed in the timeline of the arrangeview
integer color the color of the marker

Returnvalues:
boolean retval true, if adding the region was successful; false, if not or an error occurred false could be an indicator, that there's already a region using the number passed over in shown_number
integer shown_number if the desired shown_number is already used by another region, this will hold the alternative number for the new custom-region




^ Reaper version 6.19 Ultraschall version 4.2AddEditMarker

Functioncall:
Lua: integer marker_number, string guid = ultraschall.AddEditMarker(number position, integer shown_number, string edittitle)

Description:

Adds an Edit marker. Returns the index of the marker as marker_number.

returns -1 in case of an error

Parameters:
number position position in seconds.
integer shown_number the number, that will be shown within Reaper. Can be multiple times. Use -1 to let Reaper decide the number.
string edittitle the title of the edit-marker; will be shown as _Edit:edittitle

Returnvalues:
integer marker_number the overall-marker-index, can be used for reaper's own marker-management functions
string guid the guid, associated with this marker



^ Reaper version 6.19 Ultraschall version 4.2AddEditRegion

Functioncall:
Lua: integer markernr, string guid = ultraschall.AddEditRegion(number startposition, number endposition, string text)

Description:

Adds a new edit-region and returns index of the newly created edit-marker-region.

returns -1 in case of an error

Parameters:
number startposition startposition in seconds
number endposition endposition in seconds
string text the title of the marker

Returnvalues:
integer markernr the number of the newly created region
string guid the guid, associated with this edit-region



^ Reaper version 5.40 Ultraschall version 4.00CountEditMarkers

Functioncall:
Lua: integer number_of_edit_markers = ultraschall.CountEditMarkers()

Description:

Counts all edit-markers.

Returnvalues:
integer number_of_edit_markers number of edit markers



^ Reaper version 5.40 Ultraschall version 4.00CountEditRegions

Functioncall:
Lua: integer retval = ultraschall.CountEditRegions()

Description:

returns the number of edit-regions in the project.

Returnvalues:
integer retval the number of edit-regions in the project



^ Reaper version 5.40 Ultraschall version 4.00DeleteEditMarker

Functioncall:
Lua: boolean retval = ultraschall.DeleteEditMarker(integer edit_index)

Description:

Deletes an _Edit:-Marker. Returns true if successful and false if not(i.e. marker doesn't exist) Use ultraschall.EnumerateEditMarkers to get the correct number.

Parameters:
integer edit_index number of an edit marker

Returnvalues:
boolean retval true, if successful, false if not



^ Reaper version 5.40 Ultraschall version 4.00DeleteEditRegion

Functioncall:
Lua: boolean retval = ultraschall.DeleteEditRegion(integer number)

Description:

Deletes an already existing edit-region.
Returns true in case of success, false if not.

Parameters:
integer number the number of the edit-region, beginning with 1 for the first edit-region

Returnvalues:
boolean retval true, in case of success, false if not



^ Reaper version 5.40 Ultraschall version 4.00EditToMarker

Functioncall:
Lua: integer idx, integer shown_number, number position, string markertitle = ultraschall.EditToMarker(integer edit_index)

Description:

Converts an edit-marker to a normal marker.

returns -1 in case of an error

Parameters:
integer edit_index number of the edit-marker. Refer ultraschall.CountEditMarkers for getting the number of edit-markers.

Returnvalues:
integer idx overallmarker/regionnumber of marker beginning with 1 for the first marker; ignore the order of first,second,etc creation of markers but counts from position 00:00:00 to end of project. So if you created a marker at position 00:00:00 and move the first created marker to the end of the timeline, it will be the last one, NOT the first one in the retval! For use with reaper's own marker-functions.
integer shown_number the shown number of the marker
number position the position of the marker in seconds
string markertitle the markertitle



^ Reaper version 6.02 Ultraschall version 4.00EnumerateEditMarkers

Functioncall:
Lua: integer retnumber, integer shown_number, number position, string edittitle, string guid = ultraschall.EnumerateEditMarkers(integer edit_index)

Description:

Gets the data of an edit marker.

returns -1 in case of an error

Parameters:
integer edit_index number of the edit-marker. Refer ultraschall.CountEditMarkers for getting the number of edit-markers.

Returnvalues:
integer retnumber overallmarker/regionnumber of marker beginning with 1 for the first marker; ignore the order of first,second,etc creation of markers but counts from position 00:00:00 to end of project. So if you created a marker at position 00:00:00 and move the first created marker to the end of the timeline, it will be the last one, NOT the first one in the retval! For use with reaper's own marker-functions.
integer shown_number indexnumber of the marker
number position the position of the marker
string edittitle the name of the marker
string guid the guid of the editmarker



^ Reaper version 6.02 Ultraschall version 4.00EnumerateEditRegion

Functioncall:
Lua: integer retval, number position, number endposition, string title, integer rgnindexnumber, string guid = ultraschall.EnumerateEditRegion(integer number)

Description:

Returns the values of an edit-region.

returns -1 in case of an error

Parameters:
integer number the number of the edit-region, beginning with 1 for the first edit-region

Returnvalues:
integer retval the overall marker-index-number of all markers in the project, -1 in case of error
number position position in seconds
number endposition endposition in seconds
string title the title of the region
integer rgnindexnumber the overall region index number, as used by other of Reaper's own marker-functions
string guid the guid of the edit-region



^ Reaper version 5.40 Ultraschall version 4.00ExportEditMarkersToFile

Functioncall:
Lua: integer retval = ultraschall.ExportEditMarkersToFile(string filename_with_path, number PodRangeStart, number PodRangeEnd)

Description:

Export Edit-Markers (not regions!) to filename_with_path.

Each line in the exportfile contains an entry for such an edit-marker in the format:

hh:mm:ss.mss Title

Returns -1 in case of error.

Parameters:
string filename_with_path the name of the export-file
number PodRangeStart beginning of the podcast in seconds
number PodRangeEnd end of the podcast in seconds

Returnvalues:
integer retval 1 in case of success, -1 if it failed



^ Reaper version 6.02 Ultraschall version 4.00GetAllEditMarkers

Functioncall:
Lua: integer number_of_editmarkers, array editmarkersarray = ultraschall.GetAllEditMarkers()

Description:

returns the number of editmarkers and an array with each editmarker in the format:

    editmarkersarray[index][0] - position
    editmarkersarray[index][1] - name
    editmarkersarray[index][2] - idx
    editmarkersarray[index][3] - guid

Returnvalues:
integer number_of_editmarkers the number of editmarkers returned
array editmarkersarray an array with all the edit-markers of the project



^ Reaper version 5.40 Ultraschall version 4.00ImportEditFromFile

Functioncall:
Lua: array editmarkers = ultraschall.ImportEditFromFile(string filename_with_path, PodRangestart)

Description:

Imports editentries from a file and returns an array of the imported values.

returns -1 in case of error

Parameters:
string filename_with_path markerfile to be imported
number PodRangeStart podcast-start-offset

Returnvalues:
array chapters array[0] is position of marker+PodRangeStart, array[1] is name of the marker



^ Reaper version 5.40 Ultraschall version 4.00IsMarkerEdit

Functioncall:
Lua: boolean retval = ultraschall.IsMarkerEdit(integer markerid)

Description:

returns true, if the marker is an edit-marker, false if not. Returns nil, if markerid is invalid.
Markerid is the marker-number for all markers, as used by marker-functions from Reaper.

returns nil in case of an error

Parameters:
integer markerid the markerid of all markers in the project, beginning with 0 for the first marker

Returnvalues:
boolean retval true, if it's an edit-marker, false if not



^ Reaper version 5.40 Ultraschall version 4.00IsRegionEditRegion

Functioncall:
Lua: boolean retval = ultraschall.IsRegionEditRegion(integer markerid)

Description:

returns true, if the marker is an Edit-region, false if not. Returns nil, if markerid is invalid.
Markerid is the marker-number for all markers, as used by marker-functions from Reaper.

returns nil in case of an error

Parameters:
integer markerid the markerid of all markers in the project, beginning with 0 for the first marker

Returnvalues:
boolean retval true, if it's an Edit-Region, false if not



^ Reaper version 5.40 Ultraschall version 4.00MarkerToEditMarker

Functioncall:
Lua: integer idx, integer shown_number, number position, string markertitle = ultraschall.MarkerToEditMarker(integer markerindex)

Description:

Converts a normal-marker to an edit-marker.

Normal markers are all markers, that don't include "_Shownote:" or "_Edit" in the beginning of their name, as well as markers with the color 100,255,0(planned chapter).

returns -1 in case of an error

Parameters:
integer markerindex number of the normal-marker. Refer ultraschall.CountNormalMarkers for getting the number of normal-markers.

Returnvalues:
integer idx overallmarker/regionnumber of marker beginning with 1 for the first marker; ignore the order of first,second,etc creation of markers but counts from position 00:00:00 to end of project. So if you created a marker at position 00:00:00 and move the first created marker to the end of the timeline, it will be the last one, NOT the first one in the retval! For use with reaper's own marker-functions.
integer shown_number the shown number of the marker
number position the position of the marker in seconds
string markertitle the markertitle



^ Reaper version 5.40 Ultraschall version 4.00SetEditMarker

Functioncall:
Lua: boolean retval = ultraschall.SetEditMarker(integer edit_index, number position, integer shown_number, string edittitle)

Description:

Sets values of an Edit Marker. Returns true if successful and false if not(i.e. marker doesn't exist)

returns false in case of an error

Parameters:
integer edit_index the number of the edit marker
number position position of the marker in seconds
integer shown_number the number of the marker
string markertitle title of the marker

Returnvalues:
boolean retval true if successful and false if not(i.e. marker doesn't exist)



^ Reaper version 6.19 Ultraschall version 4.2SetEditRegion

Functioncall:
Lua: boolean retval = ultraschall.SetEditRegion(integer number, number position, number endposition, string edittitle)

Description:

Sets the values of an already existing edit-region. To retain an already set position, endposition and/or edittitle, use nil.
Returns true in case of success, false if not.
Note: if you set the new beginning of the region before another region, the indexnumber of the edit-region changes. So if you want to set an edit-region repeatedly, you should get the indexnumber using ultraschall.EnumerateEditRegion, or you might accidently change another region!

returns -1 in case of an error

Parameters:
integer number the number of the edit-region, beginning with 1 for the first edit-region
number startposition startposition in seconds, nil to retain the old value
number endposition endposition in seconds, nil to retain the old value
string text the title of the marker, nil to retain the old value

Returnvalues:
boolean retval true, in case of success, false if not




^ Reaper version 6.02 Ultraschall version 4.00GetAllMarkers

Functioncall:
Lua: integer number_of_all_markers, array allmarkersarray = ultraschall.GetAllMarkers()

Description:

To get all Markers in the project(normal, edit, chapter), regardless of their category.
Doesn't return regions!

returns the number of markers and an array with each marker in the format:

    markersarray[index][0] - position
    markersarray[index][1] - name
    markersarray[index][2] - indexnumber of the marker within all markers in the project
    markersarray[index][3] - the shown index-number
    markersarray[index][4] - the color of the marker
    markersarray[index][5] - the guid of the marker

Returnvalues:
integer number_of_allmarkers the number of markers returned
array allmarkersarray an array, that holds all markers(not regions!) of the project



^ Reaper version 6.02 Ultraschall version 4.1GetAllMarkersBetween

Functioncall:
Lua: integer number_of_all_markers, array allmarkersarray = ultraschall.GetAllMarkersBetween(optional number startposition, optional number endposition)

Description:

To get all Markers in the project(normal, edit, chapter), regardless of their category, between startposition and endposition.
Doesn't return regions!

returns the number of markers and an array with each marker in the format:

    markersarray[index][0] - position
    markersarray[index][1] - name
    markersarray[index][2] - indexnumber of the marker within all markers in the project
    markersarray[index][3] - the shown index-number
    markersarray[index][4] - the color of the marker
    markersarray[index][5] - the guid of the marker

returns -1 in case of error

Parameters:
optional number startposition the earliest position a returned marker may have; nil for projectposition 0
optional number endposition the latest position a returned marker may have; nil for end of project

Returnvalues:
integer number_of_allmarkers the number of markers returned
array allmarkersarray an array, that holds all markers(not regions!) of the project



^ Reaper version 6.02 Ultraschall version 4.00GetAllRegions

Functioncall:
Lua: integer number_of_all_regions, array allregionsarray = ultraschall.GetAllRegions()

Description:

To get all Regions in the project(normal, edit, chapter), regardless of their category.
Doesn't return markers!

returns the number of markers and an array with each marker in the format:

    regionarray[index][0] - position
    regionarray[index][1] - endposition
    regionarray[index][2] - name
    regionarray[index][3] - indexnumber of the region within all markers in the project. This is 1-based, unlike in Reaper's own API!
    regionarray[index][4] - the shown index-number
    regionarray[index][5] - the color of the region
    regionarray[index][6] - the guid of the region
    
returns -1 in case of error

Returnvalues:
integer number_of_allregions the number of regions returned
array regionsarray an array, that holds all regions(not markers!) of the project



^ Reaper version 6.02 Ultraschall version 4.1GetAllRegionsBetween

Functioncall:
Lua: integer number_of_all_regions, array allregionsarray = ultraschall.GetAllRegionsBetween(optional number startposition, optional number endposition, optional boolean partial)

Description:

To get all Regions in the project(normal, edit, chapter), regardless of their category between start- and endposition.
Set partial to true, if you want to get regions as well, that are only partially between start- and endposition
Doesn't return markers!

returns the number of markers and an array with each marker in the format:

    regionarray[index][0] - position
    regionarray[index][1] - endposition
    regionarray[index][2] - name
    regionarray[index][3] - indexnumber of the region within all markers in the project
    regionarray[index][4] - the shown index-number
    regionarray[index][5] - the color of the region
    regionarray[index][6] - the guid of the region

returns -1 in case of error

Parameters:
optional number startposition the earliest position a returned region may have; nil, startposition=0
optional number endposition the latest position a returned region may have; nil, endposition=end of project
optional boolean retval true or nil, to get regions that are partially within start and endposition as well; false, only regions completely within start/endposition.

Returnvalues:
integer number_of_allregions the number of regions returned
array regionsarray an array, that holds all regions(not markers!) of the project



^ Reaper version 5.40 Ultraschall version 4.00GetLastMarkerPosition

Functioncall:
Lua: number position, integer marker_idx = ultraschall.GetLastMarkerPosition()

Description:

Returns the position of the last projectmarker in the project(no regions or time-sig-markers!).

Returns -1 in case of no markers available

Returnvalues:
number position the position of the last marker in the project
integer marker_idx the idx of the last marker in the project. Not the shown number!



^ Reaper version 5.40 Ultraschall version 4.00GetLastRegion

Functioncall:
Lua: number position, number endposition, integer region_idx = ultraschall.GetLastRegion()

Description:

Returns the position of the last region in the project(no markers or time-sig-markers!).
Note: Last region means the last ending region in the project, even if it's the first starting.

Returns -1 in case of no regions available

Returnvalues:
number startposition the startposition of the last region in the project
number endposition the endposition of the last region in the project
integer region_idx the idx of the last region in the project. Not the shown number!



^ Reaper version 6.02 Ultraschall version 4.00GetMarkerAndRegionsByIndex

Functioncall:
Lua: string name, integer shown_number, integer color, number pos, optional number rgnend, string guid = ultraschall.GetMarkerAndRegionsByIndex(integer idx, boolean searchisrgn)

Description:

Returns the values of a certain marker/region. The numbering of idx is either only for the markers or for regions, depending on what you set with parameter searchisrgn.

returns nil in case of an error

Parameters:
integer idx the number of the requested marker/region; counts only within either markers or regions, depending on what you've set searchisrgn to; 1-based!
boolean searchisrgn true, search only within regions; false, search only within markers

Returnvalues:
string name the name of the marker/region
integer markrgnindexnumber the shown number of the marker/region
integer color the color-value of the marker/region
number pos the position of the marker/region
optional number rgnend the end of the region
string guid the guid of the marker/region; if it's a marker, the retval rgnend will be nil!



^ Reaper version 6.02 Ultraschall version 4.00GetMarkerByName

Functioncall:
Lua: integer count_markers, array foundmarkers, array found_guids = ultraschall.GetMarkerByName(string searchname, boolean searchisrgn)

Description:

Get all markers/regions that have a certain name. This function is not case-sensitive.

returns -1 in case of an error

Parameters:
string searchname the name to look for; must be exact; not case-sensitive
boolean searchisrgn true, search only within regions; false, search only within markers

Returnvalues:
integer count_markers the number of found markers/regions
array foundmarkers an array with all marker/region-numbers of the found markers; counts only regions or markers(depending on parameter searchisrgn); markernumbers are 0-based
array found_guids the guids of all markers/regions found



^ Reaper version 6.02 Ultraschall version 4.00GetMarkerByName_Pattern

Functioncall:
Lua: integer count_markers, array foundmarkers, array foundguids = ultraschall.GetMarkerByName_Pattern(string searchname, boolean searchisrgn)

Description:

Get all markers/regions that have a certain character-sequence in their name. This function is not case-sensitive.

returns -1 in case of an error

Parameters:
string searchname the name to look for; a character-sequence that shall be part of the name; not case-sensitive
boolean searchisrgn true, search only within regions; false, search only within markers

Returnvalues:
integer count_markers the number of found markers/regions
array foundmarkers an array with all marker/region-numbers of the found markers; counts only regions or markers(depending on parameter searchisrgn)
array foundguids the guids of all found markers/regions



^ Reaper version 5.40 Ultraschall version 4.00ImportMarkersFromFile

Functioncall:
Lua: array markers = ultraschall.ImportMarkersFromFile(string filename_with_path, PodrangeStart)

Description:

Imports markerentries from a file and returns an array of the imported values.

returns -1 in case of error

Parameters:
string filename_with_path markerfile to be imported
number PodRangeStart podcast-start-offset

Returnvalues:
array chapters array[0] is position of marker+PodRangeStart, array[1] is name of the marker



^ Reaper version 5.965 Ultraschall version 4.00RippleCut_Regions

Functioncall:
Lua: boolean were_regions_altered, integer number_of_altered_regions, array altered_regions = ultraschall.RippleCut_Regions(number startposition, number endposition)

Description:

Ripplecuts regions, where applicable.
It cuts all (parts of) regions between startposition and endposition and moves remaining parts plus all regions after endposition by endposition-startposition toward projectstart.

Returns false in case of an error.

Parameters:
number startposition the startposition from where regions shall be cut from
number endposition the endposition to which regions shall be cut from; all regions/parts of regions after that will be moved toward projectstart

Returnvalues:
boolean were_regions_altered true, if regions were cut/altered; false, if not
integer number_of_altered_regions the number of regions that were altered/cut/moved
array altered_regions the regions that were altered: altered_regions_array[index_of_region][0] - old startposition altered_regions_array[index_of_region][1] - old endposition altered_regions_array[index_of_region][2] - name altered_regions_array[index_of_region][3] - old indexnumber of the region within all markers in the project altered_regions_array[index_of_region][4] - the shown index-number altered_regions_array[index_of_region][5] - the color of the region altered_regions_array[index_of_region][6] - the change that was applied to this region altered_regions_array[index_of_region][7] - the new startposition altered_regions_array[index_of_region][8] - the new endposition



^ Reaper version 5.77 Ultraschall version 4.00SetMarkerByIndex

Functioncall:
Lua: boolean retval = ultraschall.SetMarkerByIndex(integer idx, boolean searchisrgn, integer shown_number, number position, position rgnend, string name, integer color, integer flags)

Description:

Sets the values of a certain marker/region. The numbering of idx is either only for the markers or for regions, depending on what you set with parameter searchisrgn.

returns false in case of an error

Parameters:
integer idx the number of the requested marker/region; counts only within either markers or regions, depending on what you've set searchisrgn to
boolean searchisrgn true, search only within regions; false, search only within markers
integer shown_number the shown-number of the region/marker; no duplicate numbers for regions allowed; nil to keep previous shown_number
number position the position of the marker/region in seconds; nil to keep previous position
position rgnend the end of the region in seconds; nil to keep previous region-end
string name the name of the marker/region; nil to keep the previous name
integer color color should be 0 to not change, or ColorToNative(r,g,b)|0x1000000; nil to keep the previous color
integer flags flags&1 to clear name; 0, keep it; nil to use the previous setting

Returnvalues:
boolean retval true, setting the marker/region was successful; false, setting of the marker/region was unsuccessful.




^ Reaper version 6.02 Ultraschall version 4.00AddNormalMarker

Functioncall:
Lua: integer marker_number, string guid = ultraschall.AddNormalMarker(number position, integer shown_number, string markertitle)

Description:

Adds a normal marker. Returns the index of the marker as marker_number.

Normal markers are all markers, that don't include "_Shownote:" or "_Edit" in the beginning of their name, as well as markers with the color 100,255,0(planned chapter).

returns -1 in case of an error

Parameters:
number position position in seconds.
integer shown_number the number, that will be shown within Reaper. Can be multiple times. Use -1 to let Reaper decide the number.
string markertitle the title of the marker.

Returnvalues:
integer marker_number the overall-marker-index, can be used for reaper's own marker-management functions
string guid the guid, associated with this marker



^ Reaper version 5.40 Ultraschall version 4.00CountNormalMarkers

Functioncall:
Lua: integer number_of_markers = ultraschall.CountNormalMarkers()

Description:

Counts all normal markers.
Normal markers are all markers, that don't include "_Shownote:" or "_Edit" in the beginning of their name, as well as markers with the color 100,255,0(planned chapter).

Returnvalues:
integer number_of_markers number of normal markers



^ Reaper version 5.52 Ultraschall version 4.1CountNormalMarkers_NumGap

Functioncall:
Lua: integer number_normal_markers = ultraschall.CountNormalMarkers_NumGap()

Description:

Returns the first "gap" in shown marker-numbers. If you have markers with numbers "1, 2, 4" it will return 3, as this is the first number missing.

Normal markers are all markers, that don't include "_Shownote:" or "_Edit" in the beginning of their name, as well as markers with the color 100,255,0(planned chapter).

Returnvalues:
integer gap_number the number of the first "gap" in the numbering of the shown marker-numbers



^ Reaper version 5.40 Ultraschall version 4.00DeleteNormalMarker

Functioncall:
Lua: boolean retval = ultraschall.DeleteNormalMarker(integer number)

Description:

Deletes a Normal-Marker. Returns true if successful and false if not(i.e. marker doesn't exist) Use ultraschall.EnumerateNormalMarkers to get the correct number.

Normal markers are all markers, that don't include "_Shownote:" or "_Edit" in the beginning of their name, as well as markers with the color 100,255,0(planned chapter).

returns -1 in case of an error

Parameters:
integer number number of a normal marker

Returnvalues:
boolean retval true, if successful, false if not



^ Reaper version 6.02 Ultraschall version 4.00EnumerateNormalMarkers

Functioncall:
Lua: integer retnumber, integer retidxnum, number position, string markertitle, string guid = ultraschall.EnumerateNormalMarkers(integer number)

Description:

Get the data of a normal marker.
Normal markers are all markers, that don't include "_Shownote:" or "_Edit" in the beginning of their name, as well as markers with the color 100,255,0(planned chapter).

Returns -1 in case of error

Parameters:
integer number number of the marker(normal markers only). Refer ultraschall.CountNormalMarkers for getting the number of normal markers.

Returnvalues:
integer retnumber overallmarker/regionnumber of marker beginning with 1 for the first marker; ignore the order of first,second,etc creation of markers but counts from position 00:00:00 to end of project. So if you created a marker at position 00:00:00 and move the first created marker to the end of the timeline, it will be the last one, NOT the first one in the retval! For use with reaper's own marker-functions.
integer retidxnum indexnumber of the marker
number position the position of the marker
string markertitle the name of the marker
string guid the guid of the enumerated marker



^ Reaper version 5.40 Ultraschall version 4.00ExportNormalMarkersToFile

Functioncall:
Lua: integer retval = ultraschall.ExportNormalMarkersToFile(string filename_with_path, number PodRangeStart, number PodRangeEnd)

Description:

Export Normal-Markers to filename_with_path. Returns -1 in case of error.

Normal markers are all markers, that don't include "_Shownote:" or "_Edit" in the beginning of their name, as well as markers with the color 100,255,0(planned chapter).

returns -1 in case of an error

Parameters:
string filename_with_path the name of the export-file
number PodRangeStart beginning of the podcast in seconds
number PodRangeEnd end of the podcast in seconds

Returnvalues:
integer retval 1 in case of success, -1 if it failed



^ Reaper version 6.02 Ultraschall version 4.00GetAllNormalMarkers

Functioncall:
Lua: index number_of_normalmarkers, array normalmarkersarray = ultraschall.GetAllNormalMarkers()

Description:

returns the number of normalmarkers and an array with each normalmarker in the format:

normalmarkersarray[index][0] - position
normalmarkersarray[index][1] - name
normalmarkersarray[index][2] - idx of the marker within all markers in project
normalmarkersarray[index][3] - the shown index number of the marker
normalmarkersarray[index][4] - the guid of the marker


Normal markers are all markers, that don't include "_Shownote:" or "_Edit" in the beginning of their name, as well as markers with the color 100,255,0(planned chapter).

Returnvalues:
integer number_of_normalmarkers the number of normalmarkers returned
array normalmarkersarray an array, that holds all normal markers of the project



^ Reaper version 5.40 Ultraschall version 4.00IsMarkerNormal

Functioncall:
Lua: boolean retval = ultraschall.IsMarkerNormal(integer markerid)

Description:

returns true, if the marker is a normal-marker, false if not. Returns nil, if markerid is invalid.
Markerid is the marker-number for all markers, as used by marker-functions from Reaper.

returns nil in case of an error

Parameters:
integer markerid the markerid of all markers in the project, beginning with 0 for the first marker

Returnvalues:
boolean retval true, if it's an normal-marker, false if not



^ Reaper version 5.40 Ultraschall version 4.00SetNormalMarker

Functioncall:
Lua: boolean retval = ultraschall.SetNormalMarker(integer number, number position, integer shown_number, string markertitle)

Description:

Sets values of a normal Marker(no _Chapter:, _Shownote:, etc). Returns true if successful and false if not(i.e. marker doesn't exist)

Normal markers are all markers, that don't include "_Shownote:" or "_Edit" in the beginning of their name, as well as markers with the color 100,255,0(planned chapter).

returns false in case of an error

Parameters:
integer number the number of the normal marker
number position position of the marker in seconds
integer shown_number the number of the marker
string markertitle title of the marker

Returnvalues:
boolean retval true if successful and false if not(i.e. marker doesn't exist)




^ Reaper version 6.19 Ultraschall version 4.2AddPodRangeRegion

Functioncall:
Lua: integer marker_number, string guid = ultraschall.AddPodRangeRegion(number startposition, number endposition)

Description:

Adds a region, which shows the time-range from the beginning to the end of the podcast.

returns -1 in case of an error

Parameters:
number startposition begin of the podcast in seconds
number endposition end of the podcast in seconds

Returnvalues:
integer marker_number the overall-marker-index, can be used for reaper's own marker-management functions
string guid the guid of the PodRangeRegion



^ Reaper version 5.40 Ultraschall version 4.00DeletePodRangeRegion

Functioncall:
Lua: integer retval = ultraschall.DeletePodRangeRegion()

Description:

deletes the PodRange-Region.

Returns false if unsuccessful

Returnvalues:
boolean retval true, if deleting was successful; false, if not



^ Reaper version 6.02 Ultraschall version 4.00GetPodRangeRegion

Functioncall:
Lua: number start_position, number end_position, string guid = ultraschall.GetPodRangeRegion()

Description:

Gets the start_position and the end_position of the PodRangeRegion.

returns -1 if no PodRangeRegion exists

Returnvalues:
number start_position beginning of the podrangeregion, that marks the beginning of the podcast
number end_position end of the podrangeregion, that marks the end of the podcast
string guid the guid associated with this marker



^ Reaper version 5.40 Ultraschall version 4.00IsRegionPodrange

Functioncall:
Lua: boolean retval = ultraschall.IsRegionPodrange(integer markerid)

Description:

returns true, if the marker is a Podrange-region, false if not. Returns nil, if markerid is invalid.
Markerid is the marker-number for all markers, as used by marker-functions from Reaper.

returns nil in case of an error

Parameters:
integer markerid the markerid of all markers in the project, beginning with 0 for the first marker

Returnvalues:
boolean retval true, if it's a PodRange-Region, false if not



^ Reaper version 5.40 Ultraschall version 4.00SetPodRangeRegion

Functioncall:
Lua: integer retval = ultraschall.SetPodRangeRegion(number startposition, number endposition)

Description:

Sets "_PodRange:"-Region

returns -1 if it fails.

Parameters:
number startposition begin of the podcast in seconds
number endposition end of the podcast in seconds

Returnvalues:
integer retval number of the region, -1 if it fails




^ Reaper version 5.95 Ultraschall version 4.00GetAllTimeSigMarkers

Functioncall:
Lua: integer num_timesig_markers, array TimeSigArray = ultraschall.GetAllTimeSigMarkers()

Description:

Returns the number of Tempo/Time-Signature-Markers in the project, as well as an array with all attributes of all these markers.

The array is of the format: TimeSigArray[markernumber(1-based)][attribute-idx]
where attribute-idx is
1, number timepos
2, number measurepos
3, number beatpos
4, number bpm
5, number timesig_num
6, number timesig_denom
7, boolean lineartempo

returns -1 in case of error

Returnvalues:
integer num_timesig_markers the number of time-signature-markers in the project
array TimeSigArray an array with all time-signature-markers and all their attributes; see Description for more details



^ Reaper version 5.40 Ultraschall version 4.00GetLastTimeSigMarkerPosition

Functioncall:
Lua: number position, number measureposition, number beatposition, integer timesig_idx = ultraschall.GetLastTimeSigMarkerPosition()

Description:

Returns the position of the last time-signature-marker in the project(no markers or regions!).

Returns -1 in case of no time-signature-markers available

Returnvalues:
number position the position of the last timesig-marker in the project
number measureposition the measureposition of the last timesig-marker in the project
number beatposition the beatposition of the last timesig-marker in the project
integer timesig_idx the idx of the last timesig-marker in the project.



^ Reaper version 6.05 Ultraschall version 4.1IsTimeSigmarkerAtPosition

Functioncall:
Lua: boolean retval = ultraschall.IsTimeSigmarkerAtPosition(number position, optional integer position_mode)

Description:

returns, if at position is a time-signature marker
    
    returns false in case of an error

Parameters:
number position the position to check, whether there's a timesignature marker
optional integer position_mode nil or 0, use position in seconds; 1, use position in measures

Returnvalues:
boolean retval true, marker found; false, marker not found



^ Reaper version 5.40 Ultraschall version 4.00MoveTimeSigMarkersBy

Functioncall:
Lua: integer retval = ultraschall.MoveTimeSigMarkersBy(number startposition, number endposition, number moveby, boolean cut_at_borders, boolean update_timeline)

Description:

Moves time-signature-markers between startposition and endposition by moveby.

Does NOT move normal projectmarkers or regions!

Returns -1 in case of failure.

Parameters:
number startposition the startposition in seconds
number endposition the endposition in seconds
number moveby in seconds, negative values: move toward beginning of project, positive values: move toward the end of project
boolean cut_at_borders shortens or cuts markers, that leave the section between startposition and endposition
boolean update_timeline true, updates the timeline after moving time-signature markers; false, don't update timeline(must be done manually then)

Returnvalues:
integer retval -1 in case of failure




^ Reaper version 5.965 JS version 0.963 Ultraschall version 4.00MediaExplorer_OnCommand

Functioncall:
Lua: boolean retval = ultraschall.MediaExplorer_OnCommand(integer actioncommandid)

Description:

runs a Media Explorer-associated action.
Note: Can only run Reaper's native actions currently(all actions having a number as actioncommandid), not scripts!

returns false if Media Explorer is closed

Returnvalues:
boolean retval true, could update run the action in the Media Explorer; false, couldn't run it



^ Reaper version 5.965 JS version 0.963 Ultraschall version 4.00UpdateMediaExplorer

Functioncall:
Lua: boolean retval = ultraschall.UpdateMediaExplorer()

Description:

updates the listview of the Media Explorer.

returns false if Media Explorer is closed

Returnvalues:
boolean retval true, could update the listview of the Media Explorer; false, couldn't update the listview




^ Reaper version 5.77 Ultraschall version 4.00ApplyActionToMediaItem

Functioncall:
Lua: boolean retval = ultraschall.ApplyActionToMediaItem(MediaItem MediaItem, string actioncommandid, integer repeat_action, boolean midi, optional HWND MIDI_hwnd)

Description:

Applies an action to a MediaItem, in either main or MIDI-Editor section-context. The action given must support applying itself to selected items.

Returns false in case of an error


Parameters:
MediaItem MediaItem the MediaItem, to whom the action shall be applied to
string actioncommandid the commandid-number or ActionCommandID, that shall be run.
integer repeat_action the number of times this action shall be applied to each item; minimum value is 1
boolean midi true, run an action from MIDI-Editor-section-context; false, run an action from the main section
optional HWND MIDI_hwnd the HWND-handle of the MIDI-Editor, to which a MIDI-action shall be applied to; nil, to use the currently selected one

Returnvalues:
boolean retval true, if running the action was successful; false, if not or an error occured



^ Reaper version 5.77 Ultraschall version 4.00ApplyActionToMediaItemArray

Functioncall:
Lua: boolean retval = ultraschall.ApplyActionToMediaItemArray(MediaItemArray MediaItemArray, string actioncommandid, integer repeat_action, boolean midi, optional HWND MIDI_hwnd)

Description:

Applies an action to the MediaItems in MediaItemArray, in either main or MIDI-Editor section-context The action given must support applying itself to selected items.

This function applies the action to each MediaItem individually. To apply the action to all MediaItems in MediaItemArray at once, see ApplyActionToMediaItemArray2.

Returns false in case of an error


Parameters:
MediaItemArray MediaItemArray an array with all MediaItems, to whom the action shall be applied to
string actioncommandid the commandid-number or ActionCommandID, that shall be run.
integer repeat_action the number of times this action shall be applied to each item; minimum value is 1
boolean midi true, run an action from MIDI-Editor-section-context; false, run an action from the main section
optional HWND MIDI_hwnd the HWND-handle of the MIDI-Editor, to which a MIDI-action shall be applied to; nil, to use the currently selected one

Returnvalues:
boolean retval true, if running the action was successful; false, if not or an error occured



^ Reaper version 5.95 Ultraschall version 4.00ApplyActionToMediaItemArray2

Functioncall:
Lua: boolean retval = ultraschall.ApplyActionToMediaItemArray2(MediaItemArray MediaItemArray, string actioncommandid, integer repeat_action, boolean midi, optional HWND MIDI_hwnd)

Description:

Applies an action to the MediaItems in MediaItemArray, in either main or MIDI-Editor section-context The action given must support applying itself to selected items.

This function applies the action to all MediaItems at once. To apply the action to each MediaItem in MediaItemArray individually, see ApplyActionToMediaItemArray

Returns false in case of an error


Parameters:
MediaItemArray MediaItemArray an array with all MediaItems, to whom the action shall be applied to
string actioncommandid the commandid-number or ActionCommandID, that shall be run.
integer repeat_action the number of times this action shall be applied to each item; minimum value is 1
boolean midi true, run an action from MIDI-Editor-section-context; false, run an action from the main section
optional HWND MIDI_hwnd the HWND-handle of the MIDI-Editor, to which a MIDI-action shall be applied to; nil, to use the currently selected one

Returnvalues:
boolean retval true, if running the action was successful; false, if not or an error occured



^ Reaper version 5.77 JS version 0.962 Ultraschall version 4.2ApplyActionToMediaItemTake

Functioncall:
Lua: boolean retval = ultraschall.ApplyActionToMediaItemTake(MediaItem MediaItem, integer takeid, string actioncommandid, integer repeat_action)

Description:

Applies an action to a MediaItemTake, in the main section-context. The action given must support applying itself to selected item-takes, other actions might do weird things.

Returns false in case of an error


Parameters:
MediaItem MediaItem the MediaItem, that holds the take
integer takeid the id of the take, at which the actions shall be applied to; 1-based; 0, use currently active take
string actioncommandid the commandid-number or ActionCommandID, that shall be run.
integer repeat_action the number of times this action shall be applied to each take; minimum value is 1

Returnvalues:
boolean retval true, if running the action was successful; false, if not or an error occured



^ Reaper version 5.92 Ultraschall version 4.00ApplyFunctionToMediaItemArray

Functioncall:
Lua: table returnvalues = ultraschall.ApplyFunctionToMediaItemArray(MediaItemArray MediaItemArray, function functionname, functionparameters1, ..., functionparametersn)

Description:

Applies function "functionname" on all items in MediaItemArray. Parameter ... is all parameters used for function "functionname", where you should use nil in place of the parameter that shall hold a MediaItem.

Returns a table with a boolean(did the function run without an error) and all returnvalues returned by function "functionname".

Returns nil in case of an error. Will NOT(!) stop execution, if function "functionname" produces an error(see table returnvalues for more details)

Parameters:
MediaItemArray MediaItemArray an array with all MediaItems, who you want to apply functionname to.
function functionname the name of the function to apply to every MediaItem in MediaItemArray
functionparameters1...n the parameters needed for function "functionname". Important: the function-parameter that is intended for the MediaItem, must be nil. This nil-parameter will be filled with the appropriate MediaItem by ApplyFunctionToMediaItemArray automatically

Returnvalues:
table returnvalues a table with all returnvalues of the following structure: returnvalues[1]=boolean - true, running the function succeeded; false, running the function did not succeed returnvalues[2]=optional(!) string - the errormessage, if returnvalues[1]=false; will be omitted if returnvalues[1]=true all other tableentries contain the returnvalues, as returned by function "functionname"



^ Reaper version 5.40 Ultraschall version 4.00CheckMediaItemArray

Functioncall:
Lua: boolean retval, integer count, array retMediaItemArray = ultraschall.CheckMediaItemArray(array MediaItemArray)

Description:

Checks, whether MediaItemArray is valid.
It throws out all entries, that are not MediaItems and returns the altered array as result.

returns false in case of error or if it is not a valid MediaItemArray

Parameters:
array MediaItemArray a MediaItemArray that shall be checked for validity

Returnvalues:
boolean retval returns true if MediaItemArray is valid, false if not
integer count the number of entries in the returned retMediaItemArray
array retMediaItemArray the, possibly, altered MediaItemArray



^ Reaper version 5.40 Ultraschall version 4.00CheckMediaItemStateChunkArray

Functioncall:
Lua: boolean retval, integer count, array retMediaItemStateChunkArray = ultraschall.CheckMediaItemStateChunkArray(array MediaItemStateChunkArray)

Description:

Checks, whether MediaItemStateChunkArray is valid.
It throws out all entries, that are not MediaItemStateChunks and returns the altered array as result.

returns false in case of an error or if it is not a valid MediaItemStateChunkArray

Parameters:
array MediaItemStateChunkArray a MediaItemStateChunkArray that shall be checked for validity

Returnvalues:
boolean retval returns true if MediaItemStateChunkArray is valid, false if not
integer count the number of entries in the returned retMediaItemStateChunkArray
array retMediaItemStateChunkArray the, possibly, altered MediaItemStateChunkArray



^ Reaper version 5.965 Ultraschall version 4.00CopyMediaItemToDestinationTrack

Functioncall:
Lua: MediaItem newMediaItem, MediaItemStateChunk statechunk = ultraschall.CopyMediaItemToDestinationTrack(MediaItem MediaItem, MediaTrack MediaTrack_destination, number position)

Description:

Copies MediaItem to MediaTrack_destination at position.

Returns nil in case of an error


Parameters:
MediaItem MediaItem the MediaItem, that you want to create a copy from
MediaTrack MediaTrack_destination the track, into which you want to copy the MediaItem
number position the position of the copy of the MediaItem; negative, to keep the position of the source-MediaItem

Returnvalues:
MediaItem newMediaItem the newly created MediaItem; nil, if no item could be created
MediaItemStateChunk statechunk the statechunk of the newly created MediaItem



^ Reaper version 6.02 Ultraschall version 4.00GetAllMediaItemAttributes_Table

Functioncall:
Lua: table AttributeTable = ultraschall.GetAllMediaItemAttributes_Table(MediaItem MediaItem)

Description:

Returns all attributes of MediaItem as a handy table.

The returned table is of the following scheme:
    AttributeTable["B_MUTE"] - bool * : muted
    AttributeTable["B_LOOPSRC"] - bool * : loop source
    AttributeTable["B_ALLTAKESPLAY"] - bool * : all takes play
    AttributeTable["B_UISEL"] - bool * : selected in arrange view
    AttributeTable["C_BEATATTACHMODE"] - char * : item timebase, -1=track or project default, 1=beats (position, length, rate), 2=beats (position only). for auto-stretch timebase: C_BEATATTACHMODE=1, C_AUTOSTRETCH=1
    AttributeTable["C_AUTOSTRETCH:"] - char * : auto-stretch at project tempo changes, 1=enabled, requires C_BEATATTACHMODE=1
    AttributeTable["C_LOCK"] - char * : locked, &1=locked
    AttributeTable["D_VOL"] - double * : item volume, 0=-inf, 0.5=-6dB, 1=+0dB, 2=+6dB, etc
    AttributeTable["D_POSITION"] - double * : item position in seconds
    AttributeTable["D_LENGTH"] - double * : item length in seconds
    AttributeTable["D_SNAPOFFSET"] - double * : item snap offset in seconds
    AttributeTable["D_FADEINLEN"] - double * : item manual fadein length in seconds
    AttributeTable["D_FADEOUTLEN"] - double * : item manual fadeout length in seconds
    AttributeTable["D_FADEINDIR"] - double * : item fadein curvature, -1..1
    AttributeTable["D_FADEOUTDIR"] - double * : item fadeout curvature, -1..1
    AttributeTable["D_FADEINLEN_AUTO"] - double * : item auto-fadein length in seconds, -1=no auto-fadein
    AttributeTable["D_FADEOUTLEN_AUTO"] - double * : item auto-fadeout length in seconds, -1=no auto-fadeout
    AttributeTable["C_FADEINSHAPE"] - int * : fadein shape, 0..6, 0=linear
    AttributeTable["C_FADEOUTSHAPE"] - int * : fadeout shape, 0..6, 0=linear
    AttributeTable["I_GROUPID"] - int * : group ID, 0=no group
    AttributeTable["I_LASTY"] - int * : Y-position of track in pixels (read-only)
    AttributeTable["I_LASTH"] - int * : height in track in pixels (read-only)
    AttributeTable["I_CUSTOMCOLOR"] - int * : custom color, OS dependent color|0x100000 (i.e. ColorToNative(r,g,b)|0x100000). If you do not |0x100000, then it will not be used, but will store the color anyway)
    AttributeTable["I_CURTAKE"] - int * : active take number
    AttributeTable["IP_ITEMNUMBER"] - int, item number on this track (read-only, returns the item number directly)
    AttributeTable["F_FREEMODE_Y"] - float * : free item positioning Y-position, 0=top of track, 1=bottom of track (will never be 1)
    AttributeTable["F_FREEMODE_H"] - float * : free item positioning height, 0=no height, 1=full height of track (will never be 0)
    AttributeTable["P_TRACK"] - MediaTrack * (read-only)

returns nil in case of an error

Parameters:
MediaItem MediaItem the MediaItem, whose attributes you want to retrieve

Returnvalues:
table AttributeTable a table with all attributes of a MediaItem



^ Reaper version 5.40 Ultraschall version 4.00GetAllMediaItemGUIDs

Functioncall:
Lua: table GUID_Array, integer count_of_GUID = ultraschall.GetAllMediaItemGUIDs()

Description:

Returns an array with all MediaItem-GUIDs in order of the MediaItems-count(1 for first MediaItem, etc).

Returns nil in case of an error

Parameters:
table GUID_Array an array with all GUIDs of all MediaItems
integer count_of_GUID the number of GUIDs(from MediaItems) in the GUID_Array

Returnvalues:
table diff_array an array with all entries from CompareArray2, that are not in Array



^ Reaper version 5.40 Ultraschall version 4.00GetEndOfItem

Functioncall:
Lua: number end_of_item_position = ultraschall.GetEndOfItem(MediaItem MediaItem)

Description:

Returns the endposition of MediaItem

returns nil in case of an error


Parameters:
MediaItem MediaItem the MediaItem, whose ending-position you want to know

Returnvalues:
number end_of_item_position the position of the ending edge of the MediaItem



^ Reaper version 5.77 Ultraschall version 4.00GetGapsBetweenItems

Functioncall:
Lua: integer number_of_gaps, array gaptable = ultraschall.GetGapsBetweenItems(MediaTrack MediaTrack)

Description:

Returns a table with all gaps between items in MediaTrack.

Returns -1 in case of an error

Parameters:
MediaTrack MediaTrack the track, of which you want to have the gaps between items

Returnvalues:
integer number_of_gaps the number of gaps found between items; -1, in case of error
array gaptable an array with all gappositions found gaptable[idx][1]=startposition of gap gaptable[idx][2]=endposition of gap



^ Reaper version 6.10 SWS version 2.10.0.1 Ultraschall version 4.2GetItem_ClickState

Functioncall:
Lua: boolean clickstate, number position, MediaItem item, MediaItem_Take take = ultraschall.GetItem_ClickState(integer mouse_button)

Description:

Returns the currently clicked item and take, as well as the current timeposition.

Mostly useful in defer-scripts.

Returns false, if no item is clicked at


Parameters:
integer mouse_button the mousebutton, that shall be clicked at the item; you can combine them as flags -1, get all states &1, only left mouse button &2, only right mouse button &4, Ctrl/Cmd-key &8, Shift-key &16, Alt key &32, Windows key &64, Middle mouse button

Returnvalues:
boolean clickstate true, item is clicked on; false, item isn't clicked on
number position the position, at which the item is currently clicked at
MediaItem item the Item, which is currently clicked at
MediaItem_Take take the take found at clickposition



^ Reaper version 5.982 Ultraschall version 4.00GetItem_HighestRecCounter

Functioncall:
Lua: integer highest_item_reccount, integer found = ultraschall.GetItem_HighestRecCounter()

Description:

Takes the RECPASS-counters of all items and takes and returns the highest one, which usually means, the number of items, who have been recorded since the project has been created.

Note: a RECPASS-entry can also be part of a copy of a recorded item, so multiple items/takes can share the same RECPASS-entries with the same counter. Means: the highest number can be of multiple items

returns -1 if no recorded item/take has been found.


Returnvalues:
integer highest_item_reccount the highest reccount of all MediaItems, which usually means, that so many Items have been recorded in this project
integer found the number of MediaItems, who have a recpass-entry in their StateChunk, means, who have been recorded.



^ Reaper version 5.965 Ultraschall version 4.00GetItem_Number

Functioncall:
Lua: integer itemidx = ultraschall.GetItem_Number(MediaItem MediaItem)

Description:

returns the indexnumber of a MediaItem-object

Can be helpful with Reaper's own API-functions, like reaper.GetMediaItem(ReaProject proj, integer itemidx)

returns -1 in case of an error

Parameters:
MediaItem MediaItem the MediaItem, whose itemidx you want to have

Returnvalues:
integer itemidx the indexnumber of the MediaItem, zero based.



^ Reaper version 5.40 Ultraschall version 4.00GetMediaItemArrayLength

Functioncall:
Lua: integer start, integer end, integer length = ultraschall.GetMediaItemArrayLength(array MediaItemArray)

Description:

Returns the beginning of the first item, the end of the last item as well as the length between start and end of all items within the MediaItemArray.
Will return -1, in case of error

Parameters:
array MediaItemArray an array with MediaItems, as returned by functions like GetAllMediaItemsBetween or GetMediaItemsAtPosition or similar.

Returnvalues:
integer start the beginning of the earliest item in the MediaItemArray in seconds
integer end the end of the latest item in the MediaItemArray, timewise, in seconds
integer length the length of the MediaItemArray in seconds



^ Reaper version 5.40 Ultraschall version 4.00GetMediaItemStateChunkArrayLength

Functioncall:
Lua: integer start, integer end, integer length = ultraschall.GetMediaItemStateChunkArrayLength(array MediaItemStateChunkArray)

Description:

Returns the beginning of the first item, the end of the last item as well as the length between start and end of all items within the MediaItemStateChunkArray.
Will return -1, in case of error

Parameters:
array MediaItemStateChunkArray an array with MediaItemStateChunks, as returned by functions like GetAllMediaItemsBetween or GetMediaItemsAtPosition or similar.

Returnvalues:
integer start the beginning of the earliest item in the MediaItemArray in seconds
integer end the end of the latest item in the MediaItemArray, timewise, in seconds
integer length the length of the MediaItemArray in seconds



^ Reaper version 5.40 Ultraschall version 4.00GetMediaItemStateChunksFromItems

Functioncall:
Lua: integer number_of_items, array MediaItemArray_StateChunks = ultraschall.GetMediaItemStateChunksFromItems(array MediaItemArray)

Description:

Returns the MediaItem-StateChunks for all MediaItems in MediaItemArray. It returns the number of items as well as an array, with each entry one MediaItemStateChunk.

StateChunks are used by the reaper-functions reaper.GetItemStateChunk and reaper.SetItemStateChunk.

Returns -1 in case of failure.

Parameters:
array MediaItemArray an array with the MediaItems you want the statechunks of

Returnvalues:
integer number_of_items the number of trackstatechunks, usually the same as MediaItems in MediaItemArray
array MediaItemArray_StateChunks an array with the StateChunks of the MediaItems in MediaItemArray



^ Reaper version 5.40 Ultraschall version 4.00GetMediaItemStateChunksFromMediaItemArray

Functioncall:
Lua: integer count, array MediaItemStateChunkArray = ultraschall.GetMediaItemStateChunksFromMediaItemArray(array MediaItemArray)

Description:

Returns the number of items and statechunks of the Items in MediaItemArray. It skips items in MediaItemArray, that are deleted.
returns -1 in case of failure

Parameters:
array MediaItemArray the statechunkarray of the items to be checked.

Returnvalues:
integer count the number of statechunks returned. -1 in case of failure
array MediaItemStateChunkArray the statechunks of the items in mediaitemarray



^ Reaper version 5.40 Ultraschall version 4.00GetMediafileAttributes

Functioncall:
Lua: number length, integer numchannels, integer Samplerate, string Filetype = ultraschall.GetMediafileAttributes(string filename)

Description:

returns the attributes of a mediafile

if the mediafile is an rpp-project, this function creates a proxy-file called filename.RPP-PROX, which is a wave-file of the length of the project.
This file can be deleted safely after that, but would be created again the next time this function is called.    

returns -1 in case of an error

Parameters:
string filename the file whose attributes you want to have

Returnvalues:
number length the length of the mediafile in seconds
integer numchannels the number of channels of the mediafile
integer Samplerate the samplerate of the mediafile in hertz
string Filetype the type of the mediafile, like MP3, WAV, MIDI, FLAC, RPP_PROJECT etc



^ Reaper version 5.40 Ultraschall version 4.00GetParentTrack_MediaItem

Functioncall:
Lua: integer tracknumber, MediaTrack mediatrack = ultraschall.GetParentTrack_MediaItem(MediaItem MediaItem)

Description:

Returns the tracknumber and the MediaTrack-object of the track in which the MediaItem is placed.

returns -1 in case of error

Parameters:
MediaItem MediaItem the MediaItem, of which you want to know the track is is placed in

Returnvalues:
integer tracknumber the tracknumber of the track, in which the MediaItem is placed; 1 for track 1, 2 for track 2, etc
MediaTrack mediatrack the MediaTrack-object of the track, in which the MediaItem is placed



^ Reaper version 5.40 Ultraschall version 4.00IsItemInTimerange

Functioncall:
Lua: boolean retval = ultraschall.IsItemInTimerange(MediaItem MediaItem, number startposiiton, number endposition, boolean inside)

Description:

checks, whether a given MediaItem is within startposition and endposition and returns the result.

returns nil in case of an error

Parameters:
MediaItem MediaItem the MediaItem to check for, if it's within the timerange
number startposition the starttime of the timerange, in which the MediaItem must be, in seconds
number endposition the endtime of the timerange, in which the MediaItem must be, in seconds
boolean inside true, MediaItem must be fully within timerange; false, MediaItem can be partially inside timerange

Returnvalues:
boolean retval true, item is in timerange; false, item isn't in timerange



^ Reaper version 6.10 Ultraschall version 4.1IsItemVisible

Functioncall:
Lua: boolean visible, boolean parent_track_visible, boolean within_start_and_endtime = ultraschall.IsItemVisible(MediaItem item, boolean completely_visible)

Description:

returns if n item is currently visible in arrangeview

Note: Items who start above and end below the visible arrangeview will be treated as not completely visible!

parenttrackvisible and withinstartand_endtime will allow you to determine, if the item could be visible if scrolled in only x or y direction.

returns nil in case of error


Parameters:
MediaTrack track the track, whose visibility you want to query
boolean completely_visible false, all tracks including partially visible ones; true, only fully visible tracks

Returnvalues:
boolean visible true, the item is visible; false, the item is not visible
boolean parent_track_visible true, its parent-track is visible; false, its parent track is not visible
boolean within_start_and_endtime true, the item is within start and endtime of the arrangeview; false, it is not



^ Reaper version 5.965 Ultraschall version 4.00IsSplitAtPosition

Functioncall:
Lua: boolean retval = ultraschall.IsSplitAtPosition(string trackstring, number position)

Description:

returns, if theres at least one split, MediaItemend or MediaItemstart at position within the tracks given in trackstring.

returns false in case of an error

Parameters:
string trackstring the tracknumbers, within to search for, as comma separated string. Starting 1 for the first track.
number position the position, at which to check for.

Returnvalues:
boolean retval true, there's a split/mediaitemend/mediaitemstart at position; false, it isn't



^ Reaper version 5.40 Ultraschall version 4.00IsValidMediaItemArray

Functioncall:
Lua: boolean retval, integer count, array retMediaItemArray = ultraschall.IsValidMediaItemArray(array MediaItemArray)

Description:

Checks, whether MediaItemArray is valid.
It throws out all entries, that are not MediaItems and returns the altered array as result.

returns false in case of an error or if it is not a valid MediaItemArray

Parameters:
array MediaItemArray a MediaItemArray that shall be checked for validity

Returnvalues:
boolean retval returns true if MediaItemArray is valid, false if not
integer count the number of entries in the returned retMediaItemArray
array retMediaItemArray the, possibly, altered MediaItemArray



^ Reaper version 5.92 Ultraschall version 4.00IsValidMediaItemStateChunk

Functioncall:
Lua: boolean retval = ultraschall.IsValidMediaItemStateChunk(string MediaItemStateChunk)

Description:

Checks, whether MediaItemStateChunk is a valide MediaItemStateChunk.

Returns false in case of an error

Parameters:
string MediaItemStateChunk the string to check, if it's a valid MediaItemStateChunk

Returnvalues:
boolean retval true, MediaItemStateChunk is valid; false, MediaItemStateChunk isn't a valid statechunk



^ Reaper version 5.40 Ultraschall version 4.1IsValidMediaItemStateChunkArray

Functioncall:
Lua: boolean retval, integer count, array retMediaItemStateChunkArray = ultraschall.IsValidMediaItemStateChunkArray(array MediaItemStateChunkArray)

Description:

Checks, whether MediaItemStateChunkArray is valid.
It throws out all entries, that are not MediaItemStateChunks and returns the altered array as result.

returns false in case of an error or if it is not a valid MediaItemStateChunkArray

Parameters:
array MediaItemStateChunkArray a MediaItemStateChunkArray that shall be checked for validity

Returnvalues:
boolean retval returns true if MediaItemStateChunkArray is valid, false if not
integer count the number of entries in the returned retMediaItemStateChunkArray
array retMediaItemStateChunkArray the, possibly, altered MediaItemStateChunkArray



^ Reaper version 5.40 Ultraschall version 4.00OnlyItemsInTracksAndTimerange

Functioncall:
Lua: integer count, MediaItemArray MediaItemArray = ultraschall.OnlyItemsInTracksAndTimerange(MediaItemArray MediaItemArray, string trackstring, number starttime, number endtime, boolean inside)

Description:

Removes all items from MediaItemArray, that aren't in tracks, as given by trackstring and are outside the timerange(starttime to endtime).

returns -1 in case of an error

Parameters:
MediaItemArray MediaItemArray an array with all MediaItems, that shall be checked for trackexistence and timerange
string trackstring a string with all requested tracknumbers in which the MediaItem must be, separated by commas; 1 for track 1, 2 for track 2, etc
number starttime the starttime of the timerange, in which the MediaItem must be, in seconds
number endtime the endtime of the timerange, in which the MediaItem must be, in seconds
boolean inside true, only MediaItems are returned, that are fully within starttime and endtime; false, return also MediaItems partially in timerange

Returnvalues:
integer count the number of items that fit the requested tracks and timerange
MediaItemArray MediaItemArray the altered MediaItemArray, that has only the MediaItems from tracks as requested by trackstring and from within timerange



^ Reaper version 5.40 Ultraschall version 4.00OnlyMediaItemsOfTracksInTrackstring

Functioncall:
Lua: integer retval, array MediaItemArray = ultraschall.OnlyMediaItemsOfTracksInTrackstring(array MediaItemArray, string trackstring)

Description:

Throws all MediaItems out of the MediaItemArray, that are not within the tracks, as given with trackstring.
Returns the "cleared" MediaItemArray

returns -1 in case of error

Parameters:
array MediaItemArray an array with MediaItems; no nil-entries allowed, will be seen as the end of the array
string trackstring the tracknumbers, separated by a comma

Returnvalues:
integer retval -1 in case of error, 1 in case of success
array MediaItemArray the "cleared" array, that contains only Items in tracks, as given by trackstring, -1 in case of error



^ Reaper version 5.40 Ultraschall version 4.00OnlyMediaItemsOfTracksInTrackstring_StateChunk

Functioncall:
Lua: integer retval, array MediaItemStateChunkArray = ultraschall.OnlyMediaItemsOfTracksInTrackstring_StateChunk(array MediaItemStateChunkArray, string trackstring)

Description:

Throws all MediaItems out of the MediaItemStateChunkArray, that are not within the tracks, as given with trackstring.
Returns the "cleared" MediaItemArray; returns -1 in case of error

Parameters:
array MediaItemStateChunkArray an array with MediaItems; no nil-entries allowed, will be seen as the end of the array
string trackstring the tracknumbers, separated by a comma

Returnvalues:
integer retval -1 in case of error, 1 in case of success
array MediaItemStateChunkarray the "cleared" array, that contains only the statechunks of MediaItems in tracks, as given by trackstring, -1 in case of error



^ Reaper version 5.92 JS version 0.986 Ultraschall version 4.2PreviewMediaFile

Functioncall:
Lua: integer retval = ultraschall.PreviewMediaFile(string filename_with_path, optional number gain, optional boolean loop, optional outputChannel)

Description:

Plays a preview of a media-file. You can only play one file at a time.

Returns false in case of an error

Parameters:
string filename_with_path the filename with path of the media-file to play
optional number gain the gain of the volume; nil, defaults to 1
optional boolean loop true, loop the previewed file; false or nil, don't loop the file
optional integer outputChannel the outputChannel; for multichannel files, this is the first hardware-output-channel for e.g. left channel of a stereo file; default, 0

Returnvalues:
boolean retval true, starting preview was successful; false, starting preview wasn't successful



^ Reaper version 5.77 SWS version 2.9.8 Ultraschall version 4.00PreviewMediaItem

Functioncall:
Lua: boolean retval = ultraschall.PreviewMediaItem(MediaItem MediaItem, integer Previewtype)

Description:

Will play a preview a given MediaItem.
You can just play one preview at a time, except when previewing additionally through the MediaExplorer.

Returns false in case of an error

Parameters:
MediaItem MediaItem the MediaItem, of which you want to play a preview
integer Previewtype the type of the preview 0, Preview the MediaItem in the Media Explorer 1, Preview the MediaItem 2, Preview the MediaItem at track fader volume of the track, in which it lies 3, Preview the MediaItem through the track, in which it lies(including FX-settings)

Returnvalues:
boolean retval false, in case of error; true, in case of success



^ Reaper version 6.02 Ultraschall version 4.00SetAllMediaItemAttributes_Table

Functioncall:
Lua: boolean retval = ultraschall.SetAllMediaItemAttributes_Table(MediaItem MediaItem, table AttributeTable)

Description:

Sets all attributes of MediaItem using a AttributeTable, which holds all the new settings for the MediaItem.

The expected table is of the following scheme:
    AttributeTable["B_MUTE"] - bool * : muted
    AttributeTable["B_LOOPSRC"] - bool * : loop source
    AttributeTable["B_ALLTAKESPLAY"] - bool * : all takes play
    AttributeTable["B_UISEL"] - bool * : selected in arrange view
    AttributeTable["C_BEATATTACHMODE"] - char * : item timebase, -1=track or project default, 1=beats (position, length, rate), 2=beats (position only). for auto-stretch timebase: C_BEATATTACHMODE=1, C_AUTOSTRETCH=1
    AttributeTable["C_AUTOSTRETCH:"] - char * : auto-stretch at project tempo changes, 1=enabled, requires C_BEATATTACHMODE=1
    AttributeTable["C_LOCK"] - char * : locked, &1=locked
    AttributeTable["D_VOL"] - double * : item volume, 0=-inf, 0.5=-6dB, 1=+0dB, 2=+6dB, etc
    AttributeTable["D_POSITION"] - double * : item position in seconds
    AttributeTable["D_LENGTH"] - double * : item length in seconds
    AttributeTable["D_SNAPOFFSET"] - double * : item snap offset in seconds
    AttributeTable["D_FADEINLEN"] - double * : item manual fadein length in seconds
    AttributeTable["D_FADEOUTLEN"] - double * : item manual fadeout length in seconds
    AttributeTable["D_FADEINDIR"] - double * : item fadein curvature, -1..1
    AttributeTable["D_FADEOUTDIR"] - double * : item fadeout curvature, -1..1
    AttributeTable["D_FADEINLEN_AUTO"] - double * : item auto-fadein length in seconds, -1=no auto-fadein
    AttributeTable["D_FADEOUTLEN_AUTO"] - double * : item auto-fadeout length in seconds, -1=no auto-fadeout
    AttributeTable["C_FADEINSHAPE"] - int * : fadein shape, 0..6, 0=linear
    AttributeTable["C_FADEOUTSHAPE"] - int * : fadeout shape, 0..6, 0=linear
    AttributeTable["I_GROUPID"] - int * : group ID, 0=no group
    AttributeTable["I_LASTY"] - int * : Y-position of track in pixels (read-only)
    AttributeTable["I_LASTH"] - int * : height in track in pixels (read-only)
    AttributeTable["I_CUSTOMCOLOR"] - int * : custom color, OS dependent color|0x100000 (i.e. ColorToNative(r,g,b)|0x100000). If you do not |0x100000, then it will not be used, but will store the color anyway)
    AttributeTable["I_CURTAKE"] - int * : active take number
    AttributeTable["IP_ITEMNUMBER"] - int, item number on this track (read-only, returns the item number directly)
    AttributeTable["F_FREEMODE_Y"] - float * : free item positioning Y-position, 0=top of track, 1=bottom of track (will never be 1)
    AttributeTable["F_FREEMODE_H"] - float * : free item positioning height, 0=no height, 1=full height of track (will never be 0)
    AttributeTable["P_TRACK"] - MediaTrack * (read-only)

returns false in case of an error or if some of the attributes could not be set.

Parameters:
MediaItem MediaItem the MediaItem, whose attributes you want to set
table AttributeTable a table which holds all settings, that you want to set

Returnvalues:
boolean retval true, setting was successful; false, setting attributes failed



^ Reaper version 5.77 JS version 0.986 Ultraschall version 4.00StopAnyPreview

Functioncall:
Lua: ultraschall.StopAnyPreview()

Description:

Stops any playing preview of a MediaItem.




^ Reaper version 5.95 Ultraschall version 4.00DeleteMediaItem

Functioncall:
Lua: boolean retval, string MediaItemStateChunk = ultraschall.DeleteMediaItem(MediaItem MediaItem)

Description:

deletes a MediaItem. Returns true, in case of success, false in case of error.

returns the MediaItemStateChunk of the deleted MediaItem as well, so you can do additional processing with a deleted item.
  
returns false in case of an error

Parameters:
MediaItem MediaItem the MediaItem to be deleted

Returnvalues:
boolean retval true, delete was successful; false was unsuccessful
string MediaItemStateChunk the StateChunk of the deleted MediaItem the statechunk contains an additional entry "ULTRASCHALL_TRACKNUMBER" which holds the tracknumber, in which the deleted MediaItem was located



^ Reaper version 5.95 Ultraschall version 4.00DeleteMediaItemsFromArray

Functioncall:
Lua: boolean retval, array MediaItemArray = ultraschall.DeleteMediaItemsFromArray(array MediaItemArray)

Description:

deletes the MediaItems from MediaItemArray. Returns true, in case of success, false in case of error.
In addition, it returns a MediaItemStateChunkArray, that contains the statechunks of all deleted MediaItems

returns false in case of an error

Parameters:
array MediaItemArray a array with MediaItem-objects to delete; no nil entries allowed

Returnvalues:
boolean retval true, delete was successful; false was unsuccessful
array MediaItemStateChunkArray and array with all statechunks of all deleted MediaItems; each statechunk contains an additional entry "ULTRASCHALL_TRACKNUMBER" which holds the tracknumber, in which the deleted MediaItem was located



^ Reaper version 5.95 Ultraschall version 4.00DeleteMediaItems_Position

Functioncall:
Lua: boolean retval, array MediaItemStateChunkArray = ultraschall.DeleteMediaItems_Position(number position, string trackstring)

Description:

Delete the MediaItems at given position, from the tracks as given by trackstring.
returns, if deleting was successful and an array with all statechunks of all deleted MediaItems

returns false in case of an error

Parameters:
number position the position in seconds
string trackstring the tracknumbers, separated by a comma

Returnvalues:
boolean retval true, delete was successful; false was unsuccessful
array MediaItemStateChunkArray and array with all statechunks of all deleted MediaItems; each statechunk contains an additional entry "ULTRASCHALL_TRACKNUMBER" which holds the tracknumber, in which the deleted MediaItem was located



^ Reaper version 5.95 Ultraschall version 4.00DeleteMediaItems_Position

Functioncall:
Lua: boolean retval, array MediaItemStateChunkArray = ultraschall.DeleteMediaItems_Position(number position, string trackstring)

Description:

Delete the MediaItems at given position, from the tracks as given by trackstring.
returns, if deleting was successful and an array with all statechunks of all deleted MediaItems

returns false in case of an error

Parameters:
number position the position in seconds
string trackstring the tracknumbers, separated by a comma

Returnvalues:
boolean retval true, delete was successful; false was unsuccessful
array MediaItemStateChunkArray and array with all statechunks of all deleted MediaItems; each statechunk contains an additional entry "ULTRASCHALL_TRACKNUMBER" which holds the tracknumber, in which the deleted MediaItem was located




^ Reaper version 5.40 Ultraschall version 4.1RippleCut

Functioncall:
Lua: integer number_items, array MediaItemArray_StateChunk = ultraschall.RippleCut(number startposition, number endposition, string trackstring, boolean moveenvelopepoints, boolean add_to_clipboard, boolean movemarkers)

Description:

Cuts out all items between startposition and endposition in the tracks given by trackstring. After cut, it moves the remaining items after(!) endposition toward projectstart, by the difference between start and endposition.

Returns number of cut items as well as an array with the mediaitem-statechunks, which can be used with functions as InsertMediaItem_MediaItemStateChunk, reaper.GetItemStateChunk and reaper.SetItemStateChunk.
  
Returns -1 in case of failure.

Parameters:
number startposition the startposition of the section in seconds
number endposition the endposition of the section in seconds
string trackstring the tracknumbers, separated by ,
boolean moveenvelopepoints moves envelopepoints, if existing, as well
boolean add_to_clipboard true, puts the cut items into the clipboard; false, don't put into the clipboard
boolean movemarkers true or nil, move markers; false, don't move markers

Returnvalues:
integer number_items the number of cut items
array MediaItemArray_StateChunk an array with the mediaitem-states of the cut items



^ Reaper version 5.40 Ultraschall version 4.00RippleCut_Reverse

Functioncall:
Lua: integer number_items, array MediaItemArray_StateChunk = ultraschall.RippleCut_Reverse(number startposition, number endposition, string trackstring, boolean moveenvelopepoints, boolean add_to_clipboard)

Description:

Cuts out all items between startposition and endposition in the tracks given by trackstring. After cut, it moves the remaining items before(!) startposition toward projectend, by the difference between start and endposition.

Returns number of cut items as well as an array with the mediaitem-statechunks, which can be used with functions as InsertMediaItem_MediaItemStateChunk, reaper.GetItemStateChunk and reaper.SetItemStateChunk.

Returns -1 in case of failure.

Parameters:
number startposition the startposition of the section in seconds
number endposition the endposition of the section in seconds
string trackstring the tracknumbers, separated by ,
boolean moveenvelopepoints moves envelopepoints, if existing, as well
boolean add_to_clipboard true, puts the cut items into the clipboard; false, don't put into the clipboard

Returnvalues:
integer number_items the number of cut items
array MediaItemArray_StateChunk an array with the mediaitem-states of the cut items



^ Reaper version 5.40 Ultraschall version 4.00SectionCut

Functioncall:
Lua: integer number_items, array MediaItemArray_StateChunk = ultraschall.SectionCut(number startposition, number endposition, string trackstring, boolean add_to_clipboard)

Description:

Cuts out all items between startposition and endposition in the tracks given by trackstring.

Returns number of cut items as well as an array with the mediaitem-statechunks, which can be used with functions as InsertMediaItem_MediaItemStateChunk, reaper.GetItemStateChunk and reaper.SetItemStateChunk.
Returns -1 in case of failure.

Parameters:
number startposition the startposition of the section in seconds
number endposition the endposition of the section in seconds
string trackstring the tracknumbers, separated by ,
boolean add_to_clipboard true, puts the cut items into the clipboard; false, don't put into the clipboard

Returnvalues:
integer number_items the number of cut items
array MediaItemArray_StateChunk an array with the mediaitem-states of the cut items.



^ Reaper version 5.40 Ultraschall version 4.00SectionCut_Inverse

Functioncall:
Lua: integer number_items_beforestart, array MediaItemArray_StateChunk_beforestart, integer number_items_afterend, array MediaItemArray_StateChunk_afterend = ultraschall.SectionCut_Inverse(number startposition, number endposition, string trackstring, boolean add_to_clipboard)

Description:

Cuts out all items before(!) startposition and after(!) endposition in the tracks given by trackstring; it keeps all items inbetween startposition and endposition.

Returns number of cut items as well as an array with the mediaitem-statechunks, which can be used with functions as InsertMediaItem_MediaItemStateChunk, reaper.GetItemStateChunk and reaper.SetItemStateChunk.

Returns -1 in case of failure.

Parameters:
number startposition the startposition of the section in seconds
number endposition the endposition of the section in seconds
string trackstring the tracknumbers, separated by ,
boolean add_to_clipboard true, puts the cut items into the clipboard; false, don't put into the clipboard

Returnvalues:
integer number_items_beforestart the number of cut items before startposition
array MediaItemArray_StateChunk_beforestart an array with the mediaitem-states of the cut items before startposition
integer number_items_afterend the number of cut items after endposition
array MediaItemArray_StateChunk_afterend an array with the mediaitem-states of the cut items after endposition



^ Reaper version 5.40 Ultraschall version 4.00SplitItemsAtPositionFromArray

Functioncall:
Lua: boolean retval, array MediaItemArray = ultraschall.SplitItemsAtPositionFromArray(number position, array MediaItemArray, boolean crossfade)

Description:

Splits items in MediaItemArray at position, in the tracks given by trackstring.
If auto-crossfade is set in the Reaper-preferences, crossfade turns it on(true) or off(false).

Returns false, in case of error.

Parameters:
number position the position in seconds
array MediaItemArray an array with the items, where split shall be applied to. No nil-entries allowed!
boolean crossfade true - automatic crossfade(if enabled) will be applied; false - automatic crossfade is off

Returnvalues:
boolean retval true - success, false - error
array MediaItemArray an array with the items on the right side of the split



^ Reaper version 5.40 Ultraschall version 4.00SplitMediaItems_Position

Functioncall:
Lua: boolean retval, array MediaItemArray = ultraschall.SplitMediaItems_Position(number position, string trackstring, boolean crossfade)

Description:

Splits items at position, in the tracks given by trackstring.
If auto-crossfade is set in the Reaper-preferences, crossfade turns it on(true) or off(false).

Returns false, in case of error.

Parameters:
number position the position in seconds
string trackstring the numbers for the tracks, where split shall be applied to; numbers separated by a comma
boolean crossfade true or nil, automatic crossfade(if enabled) will be applied; false, automatic crossfade is off

Returnvalues:
boolean retval true - success, false - error
array MediaItemArray an array with the items on the right side of the split




^ Reaper version 5.40 Ultraschall version 4.00GetItemAllTakes

Functioncall:
Lua: integer alltakes = ultraschall.GetItemAllTakes(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:

Returns alltakes-entry of a MediaItem or MediaItemStateChunk.
Returns nil in case of error.

Parameters:
MediaItem MediaItem the MediaItem, whose all-takes-playstate you want to know; nil, use parameter MediaItemStatechunk instead
string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk

Returnvalues:
integer alltakes Play all takes(1) or don't play all takes(0)



^ Reaper version 5.40 Ultraschall version 4.00GetItemBeat

Functioncall:
Lua: integer beatstate = ultraschall.GetItemBeat(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:

Returns the beatstate/timebase-entry of a MediaItem or MediaItemStateChunk.
Returns -1 in case of error.

Parameters:
MediaItem MediaItem the MediaItem, whose beatstate/timebase-state you want to know; nil, use parameter MediaItemStatechunk instead
optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk

Returnvalues:
integer beatstate the item-timebase state nil - Track/project default timebase 0 - Time 1 - Beats (posiiton, length, rate) 2 - Beats (position only)



^ Reaper version 5.40 Ultraschall version 4.00GetItemChanMode

Functioncall:
Lua: integer channelmode = ultraschall.GetItemChanMode(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:

Returns the channelmode-entry of a MediaItem or MediaItemStateChunk.
It's the CHANMODE-entry
Returns nil in case of error.

Parameters:
MediaItem MediaItem the MediaItem, whose channelmode-state you want to know; nil, use parameter MediaItemStatechunk instead
optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk

Returnvalues:
integer channelmode channelmode of the MediaItem 0 - normal 1 - reverse stereo 2 - Mono (Mix L+R) 3 - Mono Left 4 - Mono Right 5 - Mono 3 ... 66 - Mono 64 67 - Stereo 1/2 ... 129 - Stereo 63/64



^ Reaper version 5.40 Ultraschall version 4.00GetItemFadeFlag

Functioncall:
Lua: integer autofade_state = ultraschall.GetItemFadeFlag(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:

Returns autofade-entry of a MediaItem or MediaItemStateChunk.
It's the FADEFLAG-entry.
Returns nil in case of error.

Parameters:
MediaItem MediaItem the MediaItem, whose fadeflag-state you want to know; nil, use parameter MediaItemStatechunk instead
optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk

Returnvalues:
integer autofade_state the autofade-state; 1, autofade is off; nil, autofade is on



^ Reaper version 5.40 Ultraschall version 4.00GetItemFadeIn

Functioncall:
Lua: number fadestate1, number fadestate2, number fadestate3, number fadestate4, integer fadestate5, number fadestate6 = ultraschall.GetItemFadeIn(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:

Returns fadein-entries of a MediaItem or MediaItemStateChunk.
Returns nil in case of error.

Parameters:
MediaItem MediaItem the MediaItem, whose fadein-state you want to know; nil, use parameter MediaItemStatechunk instead
string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk

Returnvalues:
number curvetype1 the type of the curve: 0, 1, 2, 3, 4, 5, 5.1; must be set like curvetype2
number fadein fadein in seconds
number fadestate3 fadeinstate entry as set in the rppxml-mediaitem-statechunk
number curvetype2 the type of the curve: 0, 1, 2, 3, 4, 5, 5.1; must be set like curvetype1
integer fadestate5 fadeinstate entry as set in the rppxml-mediaitem-statechunk
number curve curve -1 to 1



^ Reaper version 5.40 Ultraschall version 4.00GetItemFadeOut

Functioncall:
Lua: number curvetype1, number fadeout_length, number fadeout_length2, number curvetype2, integer fadestate5, number curve = ultraschall.GetItemFadeOut(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:

Returns fadeout-entries of a MediaItem or MediaItemStateChunk.
Returns nil in case of error.

Parameters:
MediaItem MediaItem the MediaItem, whose fadeout-state you want to know; nil, use parameter MediaItemStatechunk instead
optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk

Returnvalues:
number curvetype1 the type of the curve: 0, 1, 2, 3, 4, 5, 5.1; must be set like curvetype2
number fadeout_length the current fadeout-length in seconds
number fadeout_length2 the fadeout-length in seconds; overrides fadeout_length and will be moved to fadeout_length when fadeout-length changes(e.g. mouse-drag); might be autocrossfade-length
number curvetype2 the type of the curve: 0, 1, 2, 3, 4, 5, 5.1; must be set like curvetype1
integer fadestate5 unknown
number curve curvation of the fadeout, -1 to 1



^ Reaper version 5.40 Ultraschall version 4.00GetItemGUID

Functioncall:
Lua: string GUID = ultraschall.GetItemGUID(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:

Returns the GUID-entry of a MediaItem or MediaItemStateChunk.
Returns nil in case of error.

Parameters:
MediaItem MediaItem the MediaItem, whose GUID-state you want to know; nil, use parameter MediaItemStatechunk instead
optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk

Returnvalues:
string GUID the GUID of the item



^ Reaper version 5.40 Ultraschall version 4.00GetItemGroup

Functioncall:
Lua: integer item_group = ultraschall.GetItemGroup(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:

Returns group of a MediaItem or MediaItemStateChunk, where the item belongs to.
It's the GROUP-entry
Returns nil in case of error.

Parameters:
MediaItem MediaItem the MediaItem, whose ItemGroup-state you want to know; nil, use parameter MediaItemStatechunk instead
optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk

Returnvalues:
integer item_group the group the item belongs to; nil, if item doesn't belong to any group



^ Reaper version 5.40 Ultraschall version 4.00GetItemIGUID

Functioncall:
Lua: string IGUID = ultraschall.GetItemIGUID(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:

Returns the IGUID-entry of a MediaItem or MediaItemStateChunk.
Returns nil in case of error.

Parameters:
MediaItem MediaItem the MediaItem, whose IGUID-state you want to know; nil, use parameter MediaItemStatechunk instead
optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk

Returnvalues:
string IGUID the IGUID of the item



^ Reaper version 5.40 Ultraschall version 4.00GetItemIID

Functioncall:
Lua: integer IID = ultraschall.GetItemIID(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:

Returns the IID-entry of a MediaItem or MediaItemStateChunk.
Returns nil in case of error.

Parameters:
MediaItem MediaItem the MediaItem, whose ItemIID-state you want to know; nil, use parameter MediaItemStatechunk instead
optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk

Returnvalues:
integer IID the IID of the item; the item-id, which is basically a counter of all items created within this project. May change, so use it only as a counter. If you want to identify a specific item, use GUID and IGUID instead.



^ Reaper version 6.10 Ultraschall version 4.2GetItemImage

Functioncall:
Lua: string filename = ultraschall.GetItemImage(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:

Returns filename of an imagefile of an MediaItem or MediaItemStateChunk, as set in the item-notes-dialog.

It is the entry RESOURCEFN

Returns nil in case of error.

Parameters:
MediaItem MediaItem the MediaItem, whose itemimage you want to know; nil, use parameter MediaItemStatechunk instead
optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk

Returnvalues:
string filename the filename of the item-image; "", if not image is associated with this item



^ Reaper version 5.40 Ultraschall version 4.00GetItemLength

Functioncall:
Lua: number length = ultraschall.GetItemLength(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:

Returns length-entry of a MediaItem or MediaItemStateChunk.
Returns nil in case of error.

Parameters:
MediaItem MediaItem the MediaItem, whose length you want to know; nil, use parameter MediaItemStatechunk instead
optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk

Returnvalues:
number length the length in seconds, as set in the statechunk



^ Reaper version 5.40 Ultraschall version 4.00GetItemLock

Functioncall:
Lua: integer lock_state = ultraschall.GetItemLock(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:

Returns itemlock-entry of a MediaItem or MediaItemStateChunk.
Returns nil in case of error.

Parameters:
MediaItem MediaItem the MediaItem, whose itemlock-state you want to know; nil, use parameter MediaItemStatechunk instead
optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk

Returnvalues:
integer lock_state the lock-state; 1, item is locked; nil, item is not locked



^ Reaper version 5.40 Ultraschall version 4.00GetItemLoop

Functioncall:
Lua: integer loopstate = ultraschall.GetItemLoop(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:

Returns loopstate-entry of a MediaItem or MediaItemStateChunk.
Returns nil in case of error.

Parameters:
optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk

Returnvalues:
integer loopstate the loopstate, as set in the statechunk; 1, loop source; 0, don't loop source



^ Reaper version 5.40 Ultraschall version 4.00GetItemMixFlag

Functioncall:
Lua: integer itemmix_state = ultraschall.GetItemMixFlag(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:

Returns the item-mix-behavior-entry of a MediaItemStateChunk.
Returns -1 in case of error.

Parameters:
MediaItem MediaItem the MediaItem, whose item-mix-behavior-state you want to know; nil, use parameter MediaItemStatechunk instead
optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk

Returnvalues:
integer itemmix_state the item-mix-behavior nil - Project Default item mix behavior 0 - Enclosed items replace enclosing items 1 - Items always mix 2 - Items always replace earlier items



^ Reaper version 5.40 Ultraschall version 4.00GetItemMute

Functioncall:
Lua: integer mutestate = ultraschall.GetItemMute(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:

Returns mutestate-entry of a MediaItem or MediaItemStateChunk.
Returns nil in case of error.

Parameters:
MediaItem MediaItem the MediaItem, whose mute-state you want to know; nil, use parameter MediaItemStatechunk instead
optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk

Returnvalues:
integer mutestate the mute-state; 1, mute is on; 0, mute is off



^ Reaper version 5.40 Ultraschall version 4.00GetItemName

Functioncall:
Lua: string name = ultraschall.GetItemName(MediaItem MediaItem, string MediaItemStateChunk)

Description:

Returns the name-entry of a MediaItem or MediaItemStateChunk.
Returns nil in case of error.

Parameters:
MediaItem MediaItem the MediaItem, whose itemname-state you want to know; nil, use parameter MediaItemStatechunk instead
optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk

Returnvalues:
string name the name of the item



^ Reaper version 5.977 Ultraschall version 4.00GetItemPlayRate

Functioncall:
Lua: number playbackrate, integer preserve_pitch, number pitch_adjust, integer takepitch_timestretch_mode, integer optimize_tonal_content, number stretch_marker_fadesize = ultraschall.GetItemPlayRate(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:

Returns the playback-rate-entries of a MediaItem or MediaItemStateChunk.
It's the PLAYRATE-entry.
  
takepitch_timestretch_mode can be

        SoundTouch:
        0 - Default settings
        1 - High Quality
        2 - Fast

    Simple windowed (fast):
        131072 - 50ms window, 25ms fade
        131073 - 50ms window, 16ms fade
        131074 - 50ms window, 10ms fade
        131075 - 50ms window, 7ms fade
        131076 - 75ms window, 37ms fade
        131077 - 75ms window, 25ms fade
        131078 - 75ms window, 15ms fade
        131079 - 75ms window, 10ms fade
        131080 - 100ms window, 50ms fade
        131081 - 100ms window, 33ms fade
        131082 - 100ms window, 20ms fade
        131083 - 100ms window, 14ms fade
        131084 - 150ms window, 75ms fade
        131085 - 150ms window, 50ms fade
        131086 - 150ms window, 30ms fade
        131087 - 150ms window, 21ms fade
        131088 - 225ms window, 112ms fade
        131089 - 225ms window, 75ms fade
        131090 - 225ms window, 45ms fade
        131091 - 225ms window, 32ms fade
        131092 - 300ms window, 150ms fade
        131093 - 300ms window, 100ms fade
        131094 - 300ms window, 60ms fade
        131095 - 300ms window, 42ms fade
        131096 - 40ms window, 20ms fade
        131097 - 40ms window, 13ms fade
        131098 - 40ms window, 8ms fade
        131099 - 40ms window, 5ms fade
        131100 - 30ms window, 15ms fade
        131101 - 30ms window, 10ms fade
        131102 - 30ms window, 6ms fade
        131103 - 30ms window, 4ms fade
        131104 - 20ms window, 10ms fade
        131105 - 20ms window, 6ms fade
        131106 - 20ms window, 4ms fade
        131107 - 20ms window, 2ms fade
        131108 - 10ms window, 5ms fade
        131109 - 10ms window, 3ms fade
        131110 - 10ms window, 2ms fade
        131111 - 10ms window, 1ms fade
        131112 - 5ms window, 2ms fade
        131113 - 5ms window, 1ms fade
        131114 - 5ms window, 1ms fade
        131115 - 5ms window, 1ms fade
        131116 - 3ms window, 1ms fade
        131117 - 3ms window, 1ms fade
        131118 - 3ms window, 1ms fade
        131119 - 3ms window, 1ms fade

    ÃƒÂ©lastique 2.2.8 Pro:
        393216 - Normal
        393217 - Preserve Formants (Lowest Pitches)
        393218 - Preserve Formants (Lower Pitches)
        393219 - Preserve Formants (Low Pitches)
        393220 - Preserve Formants (Most Pitches)
        393221 - Preserve Formants (High Pitches)
        393222 - Preserve Formants (Higher Pitches)
        393223 - Preserve Formants (Highest Pitches)
        393224 - Mid/Side
        393225 - Mid/Side, Preserve Formants (Lowest Pitches)
        393226 - Mid/Side, Preserve Formants (Lower Pitches)
        393227 - Mid/Side, Preserve Formants (Low Pitches)
        393228 - Mid/Side, Preserve Formants (Most Pitches)
        393229 - Mid/Side, Preserve Formants (High Pitches)
        393230 - Mid/Side, Preserve Formants (Higher Pitches)
        393231 - Mid/Side, Preserve Formants (Highest Pitches)
        393232 - Synchronized: Normal
        393233 - Synchronized: Preserve Formants (Lowest Pitches)
        393234 - Synchronized: Preserve Formants (Lower Pitches)
        393235 - Synchronized: Preserve Formants (Low Pitches)
        393236 - Synchronized: Preserve Formants (Most Pitches)
        393237 - Synchronized: Preserve Formants (High Pitches)
        393238 - Synchronized: Preserve Formants (Higher Pitches)
        393239 - Synchronized: Preserve Formants (Highest Pitches)
        393240 - Synchronized:  Mid/Side
        393241 - Synchronized:  Mid/Side, Preserve Formants (Lowest Pitches)
        393242 - Synchronized:  Mid/Side, Preserve Formants (Lower Pitches)
        393243 - Synchronized:  Mid/Side, Preserve Formants (Low Pitches)
        393244 - Synchronized:  Mid/Side, Preserve Formants (Most Pitches)
        393245 - Synchronized:  Mid/Side, Preserve Formants (High Pitches)
        393246 - Synchronized:  Mid/Side, Preserve Formants (Higher Pitches)
        393247 - Synchronized:  Mid/Side, Preserve Formants (Highest Pitches)

    ÃƒÂ©lastique 2.2.8 Efficient:
        458752 - Normal
        458753 - Mid/Side
        458754 - Synchronized: Normal
        458755 - Synchronized: Mid/Side

    ÃƒÂ©lastique 2.2.8 Soloist:
        524288 - Monophonic
        524289 - Monophonic [Mid/Side]
        524290 - Speech
        524291 - Speech [Mid/Side]

    ÃƒÂ©lastique 3.3.0 Pro:
        589824 - Normal
        589825 - Preserve Formants (Lowest Pitches)
        589826 - Preserve Formants (Lower Pitches)
        589827 - Preserve Formants (Low Pitches)
        589828 - Preserve Formants (Most Pitches)
        589829 - Preserve Formants (High Pitches)
        589830 - Preserve Formants (Higher Pitches)
        589831 - Preserve Formants (Highest Pitches)
        589832 - Mid/Side
        589833 - Mid/Side, Preserve Formants (Lowest Pitches)
        589834 - Mid/Side, Preserve Formants (Lower Pitches)
        589835 - Mid/Side, Preserve Formants (Low Pitches)
        589836 - Mid/Side, Preserve Formants (Most Pitches)
        589837 - Mid/Side, Preserve Formants (High Pitches)
        589838 - Mid/Side, Preserve Formants (Higher Pitches)
        589839 - Mid/Side, Preserve Formants (Highest Pitches)
        589840 - Synchronized: Normal
        589841 - Synchronized: Preserve Formants (Lowest Pitches)
        589842 - Synchronized: Preserve Formants (Lower Pitches)
        589843 - Synchronized: Preserve Formants (Low Pitches)
        589844 - Synchronized: Preserve Formants (Most Pitches)
        589845 - Synchronized: Preserve Formants (High Pitches)
        589846 - Synchronized: Preserve Formants (Higher Pitches)
        589847 - Synchronized: Preserve Formants (Highest Pitches)
        589848 - Synchronized:  Mid/Side
        589849 - Synchronized:  Mid/Side, Preserve Formants (Lowest Pitches)
        589850 - Synchronized:  Mid/Side, Preserve Formants (Lower Pitches)
        589851 - Synchronized:  Mid/Side, Preserve Formants (Low Pitches)
        589852 - Synchronized:  Mid/Side, Preserve Formants (Most Pitches)
        589853 - Synchronized:  Mid/Side, Preserve Formants (High Pitches)
        589854 - Synchronized:  Mid/Side, Preserve Formants (Higher Pitches)
        589855 - Synchronized:  Mid/Side, Preserve Formants (Highest Pitches)

    ÃƒÂ©lastique 3.3.0 Efficient:
        655360 - Normal
        655361 - Mid/Side
        655362 - Synchronized: Normal
        655363 - Synchronized: Mid/Side

    ÃƒÂ©lastique 3.3.0 Soloist:
        720896 - Monophonic
        720897 - Monophonic [Mid/Side]
        720898 - Speech
        720899 - Speech [Mid/Side]


    Rubber Band Library - Default
        851968 - nothing

    Rubber Band Library - Preserve Formants
        851969 - Preserve Formants

    Rubber Band Library - Mid/Side
        851970 - Mid/Side

    Rubber Band Library - Preserve Formants, Mid/Side
        851971 - Preserve Formants, Mid/Side

    Rubber Band Library - Independent Phase
        851972 - Independent Phase

    Rubber Band Library - Preserve Formants, Independent Phase
        851973 - Preserve Formants, Independent Phase

    Rubber Band Library - Mid/Side, Independent Phase
        851974 - Mid/Side, Independent Phase

    Rubber Band Library - Preserve Formants, Mid/Side, Independent Phase
        851975 - Preserve Formants, Mid/Side, Independent Phase

    Rubber Band Library - Time Domain Smoothing
        851976 - Time Domain Smoothing

    Rubber Band Library - Preserve Formants, Time Domain Smoothing
        851977 - Preserve Formants, Time Domain Smoothing

    Rubber Band Library - Mid/Side, Time Domain Smoothing
        851978 - Mid/Side, Time Domain Smoothing

    Rubber Band Library - Preserve Formants, Mid/Side, Time Domain Smoothing
        851979 - Preserve Formants, Mid/Side, Time Domain Smoothing

    Rubber Band Library - Independent Phase, Time Domain Smoothing
        851980 - Independent Phase, Time Domain Smoothing

    Rubber Band Library - Preserve Formants, Independent Phase, Time Domain Smoothing
        851981 - Preserve Formants, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Mid/Side, Independent Phase, Time Domain Smoothing
        851982 - Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
        851983 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed
        851984 - nothing
        851985 - Preserve Formants
        851986 - Mid/Side
        851987 - Preserve Formants, Mid/Side
        851988 - Independent Phase
        851989 - Preserve Formants, Independent Phase
        851990 - Mid/Side, Independent Phase
        851991 - Preserve Formants, Mid/Side, Independent Phase
        851992 - Time Domain Smoothing
        851993 - Preserve Formants, Time Domain Smoothing
        851994 - Mid/Side, Time Domain Smoothing
        851995 - Preserve Formants, Mid/Side, Time Domain Smoothing
        851996 - Independent Phase, Time Domain Smoothing
        851997 - Preserve Formants, Independent Phase, Time Domain Smoothing
        851998 - Mid/Side, Independent Phase, Time Domain Smoothing
        851999 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth
        852000 - nothing
        852001 - Preserve Formants
        852002 - Mid/Side
        852003 - Preserve Formants, Mid/Side
        852004 - Independent Phase
        852005 - Preserve Formants, Independent Phase
        852006 - Mid/Side, Independent Phase
        852007 - Preserve Formants, Mid/Side, Independent Phase
        852008 - Time Domain Smoothing
        852009 - Preserve Formants, Time Domain Smoothing
        852010 - Mid/Side, Time Domain Smoothing
        852011 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852012 - Independent Phase, Time Domain Smoothing
        852013 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852014 - Mid/Side, Independent Phase, Time Domain Smoothing
        852015 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Percussive
        852016 - nothing
        852017 - Preserve Formants
        852018 - Mid/Side
        852019 - Preserve Formants, Mid/Side
        852020 - Independent Phase
        852021 - Preserve Formants, Independent Phase
        852022 - Mid/Side, Independent Phase
        852023 - Preserve Formants, Mid/Side, Independent Phase
        852024 - Time Domain Smoothing
        852025 - Preserve Formants, Time Domain Smoothing
        852026 - Mid/Side, Time Domain Smoothing
        852027 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852028 - Independent Phase, Time Domain Smoothing
        852029 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852030 - Mid/Side, Independent Phase, Time Domain Smoothing
        852031 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Percussive
        852032 - nothing
        852033 - Preserve Formants
        852034 - Mid/Side
        852035 - Preserve Formants, Mid/Side
        852036 - Independent Phase
        852037 - Preserve Formants, Independent Phase
        852038 - Mid/Side, Independent Phase
        852039 - Preserve Formants, Mid/Side, Independent Phase
        852040 - Time Domain Smoothing
        852041 - Preserve Formants, Time Domain Smoothing
        852042 - Mid/Side, Time Domain Smoothing
        852043 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852044 - Independent Phase, Time Domain Smoothing
        852045 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852046 - Mid/Side, Independent Phase, Time Domain Smoothing
        852047 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Percussive
        852048 - nothing
        852049 - Preserve Formants
        852050 - Mid/Side
        852051 - Preserve Formants, Mid/Side
        852052 - Independent Phase
        852053 - Preserve Formants, Independent Phase
        852054 - Mid/Side, Independent Phase
        852055 - Preserve Formants, Mid/Side, Independent Phase
        852056 - Time Domain Smoothing
        852057 - Preserve Formants, Time Domain Smoothing
        852058 - Mid/Side, Time Domain Smoothing
        852059 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852060 - Independent Phase, Time Domain Smoothing
        852061 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852062 - Mid/Side, Independent Phase, Time Domain Smoothing
        852063 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Soft
        852064 - nothing
        852065 - Preserve Formants
        852066 - Mid/Side
        852067 - Preserve Formants, Mid/Side
        852068 - Independent Phase
        852069 - Preserve Formants, Independent Phase
        852070 - Mid/Side, Independent Phase
        852071 - Preserve Formants, Mid/Side, Independent Phase
        852072 - Time Domain Smoothing
        852073 - Preserve Formants, Time Domain Smoothing
        852074 - Mid/Side, Time Domain Smoothing
        852075 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852076 - Independent Phase, Time Domain Smoothing
        852077 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852078 - Mid/Side, Independent Phase, Time Domain Smoothing
        852079 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Soft
        852080 - nothing
        852081 - Preserve Formants
        852082 - Mid/Side
        852083 - Preserve Formants, Mid/Side
        852084 - Independent Phase
        852085 - Preserve Formants, Independent Phase
        852086 - Mid/Side, Independent Phase
        852087 - Preserve Formants, Mid/Side, Independent Phase
        852088 - Time Domain Smoothing
        852089 - Preserve Formants, Time Domain Smoothing
        852090 - Mid/Side, Time Domain Smoothing
        852091 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852092 - Independent Phase, Time Domain Smoothing
        852093 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852094 - Mid/Side, Independent Phase, Time Domain Smoothing
        852095 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Soft
        852096 - nothing
        852097 - Preserve Formants
        852098 - Mid/Side
        852099 - Preserve Formants, Mid/Side
        852100 - Independent Phase
        852101 - Preserve Formants, Independent Phase
        852102 - Mid/Side, Independent Phase
        852103 - Preserve Formants, Mid/Side, Independent Phase
        852104 - Time Domain Smoothing
        852105 - Preserve Formants, Time Domain Smoothing
        852106 - Mid/Side, Time Domain Smoothing
        852107 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852108 - Independent Phase, Time Domain Smoothing
        852109 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852110 - Mid/Side, Independent Phase, Time Domain Smoothing
        852111 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Pitch Mode: HighQ
        852112 - nothing
        852113 - Preserve Formants
        852114 - Mid/Side
        852115 - Preserve Formants, Mid/Side
        852116 - Independent Phase
        852117 - Preserve Formants, Independent Phase
        852118 - Mid/Side, Independent Phase
        852119 - Preserve Formants, Mid/Side, Independent Phase
        852120 - Time Domain Smoothing
        852121 - Preserve Formants, Time Domain Smoothing
        852122 - Mid/Side, Time Domain Smoothing
        852123 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852124 - Independent Phase, Time Domain Smoothing
        852125 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852126 - Mid/Side, Independent Phase, Time Domain Smoothing
        852127 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Pitch Mode: HighQ
        852128 - nothing
        852129 - Preserve Formants
        852130 - Mid/Side
        852131 - Preserve Formants, Mid/Side
        852132 - Independent Phase
        852133 - Preserve Formants, Independent Phase
        852134 - Mid/Side, Independent Phase
        852135 - Preserve Formants, Mid/Side, Independent Phase
        852136 - Time Domain Smoothing
        852137 - Preserve Formants, Time Domain Smoothing
        852138 - Mid/Side, Time Domain Smoothing
        852139 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852140 - Independent Phase, Time Domain Smoothing
        852141 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852142 - Mid/Side, Independent Phase, Time Domain Smoothing
        852143 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Pitch Mode: HighQ
        852144 - nothing
        852145 - Preserve Formants
        852146 - Mid/Side
        852147 - Preserve Formants, Mid/Side
        852148 - Independent Phase
        852149 - Preserve Formants, Independent Phase
        852150 - Mid/Side, Independent Phase
        852151 - Preserve Formants, Mid/Side, Independent Phase
        852152 - Time Domain Smoothing
        852153 - Preserve Formants, Time Domain Smoothing
        852154 - Mid/Side, Time Domain Smoothing
        852155 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852156 - Independent Phase, Time Domain Smoothing
        852157 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852158 - Mid/Side, Independent Phase, Time Domain Smoothing
        852159 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Percussive, Pitch Mode: HighQ
        852160 - nothing
        852161 - Preserve Formants
        852162 - Mid/Side
        852163 - Preserve Formants, Mid/Side
        852164 - Independent Phase
        852165 - Preserve Formants, Independent Phase
        852166 - Mid/Side, Independent Phase
        852167 - Preserve Formants, Mid/Side, Independent Phase
        852168 - Time Domain Smoothing
        852169 - Preserve Formants, Time Domain Smoothing
        852170 - Mid/Side, Time Domain Smoothing
        852171 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852172 - Independent Phase, Time Domain Smoothing
        852173 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852174 - Mid/Side, Independent Phase, Time Domain Smoothing
        852175 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Percussive, Pitch Mode: HighQ
        852176 - nothing
        852177 - Preserve Formants
        852178 - Mid/Side
        852179 - Preserve Formants, Mid/Side
        852180 - Independent Phase
        852181 - Preserve Formants, Independent Phase
        852182 - Mid/Side, Independent Phase
        852183 - Preserve Formants, Mid/Side, Independent Phase
        852184 - Time Domain Smoothing
        852185 - Preserve Formants, Time Domain Smoothing
        852186 - Mid/Side, Time Domain Smoothing
        852187 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852188 - Independent Phase, Time Domain Smoothing
        852189 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852190 - Mid/Side, Independent Phase, Time Domain Smoothing
        852191 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Percussive, Pitch Mode: HighQ
        852192 - nothing
        852193 - Preserve Formants
        852194 - Mid/Side
        852195 - Preserve Formants, Mid/Side
        852196 - Independent Phase
        852197 - Preserve Formants, Independent Phase
        852198 - Mid/Side, Independent Phase
        852199 - Preserve Formants, Mid/Side, Independent Phase
        852200 - Time Domain Smoothing
        852201 - Preserve Formants, Time Domain Smoothing
        852202 - Mid/Side, Time Domain Smoothing
        852203 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852204 - Independent Phase, Time Domain Smoothing
        852205 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852206 - Mid/Side, Independent Phase, Time Domain Smoothing
        852207 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Soft, Pitch Mode: HighQ
        852208 - nothing
        852209 - Preserve Formants
        852210 - Mid/Side
        852211 - Preserve Formants, Mid/Side
        852212 - Independent Phase
        852213 - Preserve Formants, Independent Phase
        852214 - Mid/Side, Independent Phase
        852215 - Preserve Formants, Mid/Side, Independent Phase
        852216 - Time Domain Smoothing
        852217 - Preserve Formants, Time Domain Smoothing
        852218 - Mid/Side, Time Domain Smoothing
        852219 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852220 - Independent Phase, Time Domain Smoothing
        852221 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852222 - Mid/Side, Independent Phase, Time Domain Smoothing
        852223 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Soft, Pitch Mode: HighQ
        852224 - nothing
        852225 - Preserve Formants
        852226 - Mid/Side
        852227 - Preserve Formants, Mid/Side
        852228 - Independent Phase
        852229 - Preserve Formants, Independent Phase
        852230 - Mid/Side, Independent Phase
        852231 - Preserve Formants, Mid/Side, Independent Phase
        852232 - Time Domain Smoothing
        852233 - Preserve Formants, Time Domain Smoothing
        852234 - Mid/Side, Time Domain Smoothing
        852235 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852236 - Independent Phase, Time Domain Smoothing
        852237 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852238 - Mid/Side, Independent Phase, Time Domain Smoothing
        852239 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Soft, Pitch Mode: HighQ
        852240 - nothing
        852241 - Preserve Formants
        852242 - Mid/Side
        852243 - Preserve Formants, Mid/Side
        852244 - Independent Phase
        852245 - Preserve Formants, Independent Phase
        852246 - Mid/Side, Independent Phase
        852247 - Preserve Formants, Mid/Side, Independent Phase
        852248 - Time Domain Smoothing
        852249 - Preserve Formants, Time Domain Smoothing
        852250 - Mid/Side, Time Domain Smoothing
        852251 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852252 - Independent Phase, Time Domain Smoothing
        852253 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852254 - Mid/Side, Independent Phase, Time Domain Smoothing
        852255 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Pitch Mode: Consistent
        852256 - nothing
        852257 - Preserve Formants
        852258 - Mid/Side
        852259 - Preserve Formants, Mid/Side
        852260 - Independent Phase
        852261 - Preserve Formants, Independent Phase
        852262 - Mid/Side, Independent Phase
        852263 - Preserve Formants, Mid/Side, Independent Phase
        852264 - Time Domain Smoothing
        852265 - Preserve Formants, Time Domain Smoothing
        852266 - Mid/Side, Time Domain Smoothing
        852267 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852268 - Independent Phase, Time Domain Smoothing
        852269 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852270 - Mid/Side, Independent Phase, Time Domain Smoothing
        852271 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Pitch Mode: Consistent
        852272 - nothing
        852273 - Preserve Formants
        852274 - Mid/Side
        852275 - Preserve Formants, Mid/Side
        852276 - Independent Phase
        852277 - Preserve Formants, Independent Phase
        852278 - Mid/Side, Independent Phase
        852279 - Preserve Formants, Mid/Side, Independent Phase
        852280 - Time Domain Smoothing
        852281 - Preserve Formants, Time Domain Smoothing
        852282 - Mid/Side, Time Domain Smoothing
        852283 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852284 - Independent Phase, Time Domain Smoothing
        852285 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852286 - Mid/Side, Independent Phase, Time Domain Smoothing
        852287 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Pitch Mode: Consistent
        852288 - nothing
        852289 - Preserve Formants
        852290 - Mid/Side
        852291 - Preserve Formants, Mid/Side
        852292 - Independent Phase
        852293 - Preserve Formants, Independent Phase
        852294 - Mid/Side, Independent Phase
        852295 - Preserve Formants, Mid/Side, Independent Phase
        852296 - Time Domain Smoothing
        852297 - Preserve Formants, Time Domain Smoothing
        852298 - Mid/Side, Time Domain Smoothing
        852299 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852300 - Independent Phase, Time Domain Smoothing
        852301 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852302 - Mid/Side, Independent Phase, Time Domain Smoothing
        852303 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Percussive, Pitch Mode: Consistent
        852304 - nothing
        852305 - Preserve Formants
        852306 - Mid/Side
        852307 - Preserve Formants, Mid/Side
        852308 - Independent Phase
        852309 - Preserve Formants, Independent Phase
        852310 - Mid/Side, Independent Phase
        852311 - Preserve Formants, Mid/Side, Independent Phase
        852312 - Time Domain Smoothing
        852313 - Preserve Formants, Time Domain Smoothing
        852314 - Mid/Side, Time Domain Smoothing
        852315 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852316 - Independent Phase, Time Domain Smoothing
        852317 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852318 - Mid/Side, Independent Phase, Time Domain Smoothing
        852319 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Percussive, Pitch Mode: Consistent
        852320 - nothing
        852321 - Preserve Formants
        852322 - Mid/Side
        852323 - Preserve Formants, Mid/Side
        852324 - Independent Phase
        852325 - Preserve Formants, Independent Phase
        852326 - Mid/Side, Independent Phase
        852327 - Preserve Formants, Mid/Side, Independent Phase
        852328 - Time Domain Smoothing
        852329 - Preserve Formants, Time Domain Smoothing
        852330 - Mid/Side, Time Domain Smoothing
        852331 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852332 - Independent Phase, Time Domain Smoothing
        852333 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852334 - Mid/Side, Independent Phase, Time Domain Smoothing
        852335 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Percussive, Pitch Mode: Consistent
        852336 - nothing
        852337 - Preserve Formants
        852338 - Mid/Side
        852339 - Preserve Formants, Mid/Side
        852340 - Independent Phase
        852341 - Preserve Formants, Independent Phase
        852342 - Mid/Side, Independent Phase
        852343 - Preserve Formants, Mid/Side, Independent Phase
        852344 - Time Domain Smoothing
        852345 - Preserve Formants, Time Domain Smoothing
        852346 - Mid/Side, Time Domain Smoothing
        852347 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852348 - Independent Phase, Time Domain Smoothing
        852349 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852350 - Mid/Side, Independent Phase, Time Domain Smoothing
        852351 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Soft, Pitch Mode: Consistent
        852352 - nothing
        852353 - Preserve Formants
        852354 - Mid/Side
        852355 - Preserve Formants, Mid/Side
        852356 - Independent Phase
        852357 - Preserve Formants, Independent Phase
        852358 - Mid/Side, Independent Phase
        852359 - Preserve Formants, Mid/Side, Independent Phase
        852360 - Time Domain Smoothing
        852361 - Preserve Formants, Time Domain Smoothing
        852362 - Mid/Side, Time Domain Smoothing
        852363 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852364 - Independent Phase, Time Domain Smoothing
        852365 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852366 - Mid/Side, Independent Phase, Time Domain Smoothing
        852367 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Soft, Pitch Mode: Consistent
        852368 - nothing
        852369 - Preserve Formants
        852370 - Mid/Side
        852371 - Preserve Formants, Mid/Side
        852372 - Independent Phase
        852373 - Preserve Formants, Independent Phase
        852374 - Mid/Side, Independent Phase
        852375 - Preserve Formants, Mid/Side, Independent Phase
        852376 - Time Domain Smoothing
        852377 - Preserve Formants, Time Domain Smoothing
        852378 - Mid/Side, Time Domain Smoothing
        852379 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852380 - Independent Phase, Time Domain Smoothing
        852381 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852382 - Mid/Side, Independent Phase, Time Domain Smoothing
        852383 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Soft, Pitch Mode: Consistent
        852384 - nothing
        852385 - Preserve Formants
        852386 - Mid/Side
        852387 - Preserve Formants, Mid/Side
        852388 - Independent Phase
        852389 - Preserve Formants, Independent Phase
        852390 - Mid/Side, Independent Phase
        852391 - Preserve Formants, Mid/Side, Independent Phase
        852392 - Time Domain Smoothing
        852393 - Preserve Formants, Time Domain Smoothing
        852394 - Mid/Side, Time Domain Smoothing
        852395 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852396 - Independent Phase, Time Domain Smoothing
        852397 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852398 - Mid/Side, Independent Phase, Time Domain Smoothing
        852399 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Window: Short
        852400 - nothing
        852401 - Preserve Formants
        852402 - Mid/Side
        852403 - Preserve Formants, Mid/Side
        852404 - Independent Phase
        852405 - Preserve Formants, Independent Phase
        852406 - Mid/Side, Independent Phase
        852407 - Preserve Formants, Mid/Side, Independent Phase
        852408 - Time Domain Smoothing
        852409 - Preserve Formants, Time Domain Smoothing
        852410 - Mid/Side, Time Domain Smoothing
        852411 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852412 - Independent Phase, Time Domain Smoothing
        852413 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852414 - Mid/Side, Independent Phase, Time Domain Smoothing
        852415 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Window: Short
        852416 - nothing
        852417 - Preserve Formants
        852418 - Mid/Side
        852419 - Preserve Formants, Mid/Side
        852420 - Independent Phase
        852421 - Preserve Formants, Independent Phase
        852422 - Mid/Side, Independent Phase
        852423 - Preserve Formants, Mid/Side, Independent Phase
        852424 - Time Domain Smoothing
        852425 - Preserve Formants, Time Domain Smoothing
        852426 - Mid/Side, Time Domain Smoothing
        852427 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852428 - Independent Phase, Time Domain Smoothing
        852429 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852430 - Mid/Side, Independent Phase, Time Domain Smoothing
        852431 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Window: Short
        852432 - nothing
        852433 - Preserve Formants
        852434 - Mid/Side
        852435 - Preserve Formants, Mid/Side
        852436 - Independent Phase
        852437 - Preserve Formants, Independent Phase
        852438 - Mid/Side, Independent Phase
        852439 - Preserve Formants, Mid/Side, Independent Phase
        852440 - Time Domain Smoothing
        852441 - Preserve Formants, Time Domain Smoothing
        852442 - Mid/Side, Time Domain Smoothing
        852443 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852444 - Independent Phase, Time Domain Smoothing
        852445 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852446 - Mid/Side, Independent Phase, Time Domain Smoothing
        852447 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Percussive, Window: Short
        852448 - nothing
        852449 - Preserve Formants
        852450 - Mid/Side
        852451 - Preserve Formants, Mid/Side
        852452 - Independent Phase
        852453 - Preserve Formants, Independent Phase
        852454 - Mid/Side, Independent Phase
        852455 - Preserve Formants, Mid/Side, Independent Phase
        852456 - Time Domain Smoothing
        852457 - Preserve Formants, Time Domain Smoothing
        852458 - Mid/Side, Time Domain Smoothing
        852459 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852460 - Independent Phase, Time Domain Smoothing
        852461 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852462 - Mid/Side, Independent Phase, Time Domain Smoothing
        852463 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Percussive, Window: Short
        852464 - nothing
        852465 - Preserve Formants
        852466 - Mid/Side
        852467 - Preserve Formants, Mid/Side
        852468 - Independent Phase
        852469 - Preserve Formants, Independent Phase
        852470 - Mid/Side, Independent Phase
        852471 - Preserve Formants, Mid/Side, Independent Phase
        852472 - Time Domain Smoothing
        852473 - Preserve Formants, Time Domain Smoothing
        852474 - Mid/Side, Time Domain Smoothing
        852475 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852476 - Independent Phase, Time Domain Smoothing
        852477 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852478 - Mid/Side, Independent Phase, Time Domain Smoothing
        852479 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Percussive, Window: Short
        852480 - nothing
        852481 - Preserve Formants
        852482 - Mid/Side
        852483 - Preserve Formants, Mid/Side
        852484 - Independent Phase
        852485 - Preserve Formants, Independent Phase
        852486 - Mid/Side, Independent Phase
        852487 - Preserve Formants, Mid/Side, Independent Phase
        852488 - Time Domain Smoothing
        852489 - Preserve Formants, Time Domain Smoothing
        852490 - Mid/Side, Time Domain Smoothing
        852491 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852492 - Independent Phase, Time Domain Smoothing
        852493 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852494 - Mid/Side, Independent Phase, Time Domain Smoothing
        852495 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Soft, Window: Short
        852496 - nothing
        852497 - Preserve Formants
        852498 - Mid/Side
        852499 - Preserve Formants, Mid/Side
        852500 - Independent Phase
        852501 - Preserve Formants, Independent Phase
        852502 - Mid/Side, Independent Phase
        852503 - Preserve Formants, Mid/Side, Independent Phase
        852504 - Time Domain Smoothing
        852505 - Preserve Formants, Time Domain Smoothing
        852506 - Mid/Side, Time Domain Smoothing
        852507 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852508 - Independent Phase, Time Domain Smoothing
        852509 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852510 - Mid/Side, Independent Phase, Time Domain Smoothing
        852511 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Soft, Window: Short
        852512 - nothing
        852513 - Preserve Formants
        852514 - Mid/Side
        852515 - Preserve Formants, Mid/Side
        852516 - Independent Phase
        852517 - Preserve Formants, Independent Phase
        852518 - Mid/Side, Independent Phase
        852519 - Preserve Formants, Mid/Side, Independent Phase
        852520 - Time Domain Smoothing
        852521 - Preserve Formants, Time Domain Smoothing
        852522 - Mid/Side, Time Domain Smoothing
        852523 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852524 - Independent Phase, Time Domain Smoothing
        852525 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852526 - Mid/Side, Independent Phase, Time Domain Smoothing
        852527 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Soft, Window: Short
        852528 - nothing
        852529 - Preserve Formants
        852530 - Mid/Side
        852531 - Preserve Formants, Mid/Side
        852532 - Independent Phase
        852533 - Preserve Formants, Independent Phase
        852534 - Mid/Side, Independent Phase
        852535 - Preserve Formants, Mid/Side, Independent Phase
        852536 - Time Domain Smoothing
        852537 - Preserve Formants, Time Domain Smoothing
        852538 - Mid/Side, Time Domain Smoothing
        852539 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852540 - Independent Phase, Time Domain Smoothing
        852541 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852542 - Mid/Side, Independent Phase, Time Domain Smoothing
        852543 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Pitch Mode: HighQ, Window: Short
        852544 - nothing
        852545 - Preserve Formants
        852546 - Mid/Side
        852547 - Preserve Formants, Mid/Side
        852548 - Independent Phase
        852549 - Preserve Formants, Independent Phase
        852550 - Mid/Side, Independent Phase
        852551 - Preserve Formants, Mid/Side, Independent Phase
        852552 - Time Domain Smoothing
        852553 - Preserve Formants, Time Domain Smoothing
        852554 - Mid/Side, Time Domain Smoothing
        852555 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852556 - Independent Phase, Time Domain Smoothing
        852557 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852558 - Mid/Side, Independent Phase, Time Domain Smoothing
        852559 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Pitch Mode: HighQ, Window: Short
        852560 - nothing
        852561 - Preserve Formants
        852562 - Mid/Side
        852563 - Preserve Formants, Mid/Side
        852564 - Independent Phase
        852565 - Preserve Formants, Independent Phase
        852566 - Mid/Side, Independent Phase
        852567 - Preserve Formants, Mid/Side, Independent Phase
        852568 - Time Domain Smoothing
        852569 - Preserve Formants, Time Domain Smoothing
        852570 - Mid/Side, Time Domain Smoothing
        852571 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852572 - Independent Phase, Time Domain Smoothing
        852573 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852574 - Mid/Side, Independent Phase, Time Domain Smoothing
        852575 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Pitch Mode: HighQ, Window: Short
        852576 - nothing
        852577 - Preserve Formants
        852578 - Mid/Side
        852579 - Preserve Formants, Mid/Side
        852580 - Independent Phase
        852581 - Preserve Formants, Independent Phase
        852582 - Mid/Side, Independent Phase
        852583 - Preserve Formants, Mid/Side, Independent Phase
        852584 - Time Domain Smoothing
        852585 - Preserve Formants, Time Domain Smoothing
        852586 - Mid/Side, Time Domain Smoothing
        852587 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852588 - Independent Phase, Time Domain Smoothing
        852589 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852590 - Mid/Side, Independent Phase, Time Domain Smoothing
        852591 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Percussive, Pitch Mode: HighQ, Window: Short
        852592 - nothing
        852593 - Preserve Formants
        852594 - Mid/Side
        852595 - Preserve Formants, Mid/Side
        852596 - Independent Phase
        852597 - Preserve Formants, Independent Phase
        852598 - Mid/Side, Independent Phase
        852599 - Preserve Formants, Mid/Side, Independent Phase
        852600 - Time Domain Smoothing
        852601 - Preserve Formants, Time Domain Smoothing
        852602 - Mid/Side, Time Domain Smoothing
        852603 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852604 - Independent Phase, Time Domain Smoothing
        852605 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852606 - Mid/Side, Independent Phase, Time Domain Smoothing
        852607 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Percussive, Pitch Mode: HighQ, Window: Short
        852608 - nothing
        852609 - Preserve Formants
        852610 - Mid/Side
        852611 - Preserve Formants, Mid/Side
        852612 - Independent Phase
        852613 - Preserve Formants, Independent Phase
        852614 - Mid/Side, Independent Phase
        852615 - Preserve Formants, Mid/Side, Independent Phase
        852616 - Time Domain Smoothing
        852617 - Preserve Formants, Time Domain Smoothing
        852618 - Mid/Side, Time Domain Smoothing
        852619 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852620 - Independent Phase, Time Domain Smoothing
        852621 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852622 - Mid/Side, Independent Phase, Time Domain Smoothing
        852623 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Percussive, Pitch Mode: HighQ, Window: Short
        852624 - nothing
        852625 - Preserve Formants
        852626 - Mid/Side
        852627 - Preserve Formants, Mid/Side
        852628 - Independent Phase
        852629 - Preserve Formants, Independent Phase
        852630 - Mid/Side, Independent Phase
        852631 - Preserve Formants, Mid/Side, Independent Phase
        852632 - Time Domain Smoothing
        852633 - Preserve Formants, Time Domain Smoothing
        852634 - Mid/Side, Time Domain Smoothing
        852635 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852636 - Independent Phase, Time Domain Smoothing
        852637 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852638 - Mid/Side, Independent Phase, Time Domain Smoothing
        852639 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Soft, Pitch Mode: HighQ, Window: Short
        852640 - nothing
        852641 - Preserve Formants
        852642 - Mid/Side
        852643 - Preserve Formants, Mid/Side
        852644 - Independent Phase
        852645 - Preserve Formants, Independent Phase
        852646 - Mid/Side, Independent Phase
        852647 - Preserve Formants, Mid/Side, Independent Phase
        852648 - Time Domain Smoothing
        852649 - Preserve Formants, Time Domain Smoothing
        852650 - Mid/Side, Time Domain Smoothing
        852651 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852652 - Independent Phase, Time Domain Smoothing
        852653 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852654 - Mid/Side, Independent Phase, Time Domain Smoothing
        852655 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Soft, Pitch Mode: HighQ, Window: Short
        852656 - nothing
        852657 - Preserve Formants
        852658 - Mid/Side
        852659 - Preserve Formants, Mid/Side
        852660 - Independent Phase
        852661 - Preserve Formants, Independent Phase
        852662 - Mid/Side, Independent Phase
        852663 - Preserve Formants, Mid/Side, Independent Phase
        852664 - Time Domain Smoothing
        852665 - Preserve Formants, Time Domain Smoothing
        852666 - Mid/Side, Time Domain Smoothing
        852667 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852668 - Independent Phase, Time Domain Smoothing
        852669 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852670 - Mid/Side, Independent Phase, Time Domain Smoothing
        852671 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Soft, Pitch Mode: HighQ, Window: Short
        852672 - nothing
        852673 - Preserve Formants
        852674 - Mid/Side
        852675 - Preserve Formants, Mid/Side
        852676 - Independent Phase
        852677 - Preserve Formants, Independent Phase
        852678 - Mid/Side, Independent Phase
        852679 - Preserve Formants, Mid/Side, Independent Phase
        852680 - Time Domain Smoothing
        852681 - Preserve Formants, Time Domain Smoothing
        852682 - Mid/Side, Time Domain Smoothing
        852683 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852684 - Independent Phase, Time Domain Smoothing
        852685 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852686 - Mid/Side, Independent Phase, Time Domain Smoothing
        852687 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Pitch Mode: Consistent, Window: Short
        852688 - nothing
        852689 - Preserve Formants
        852690 - Mid/Side
        852691 - Preserve Formants, Mid/Side
        852692 - Independent Phase
        852693 - Preserve Formants, Independent Phase
        852694 - Mid/Side, Independent Phase
        852695 - Preserve Formants, Mid/Side, Independent Phase
        852696 - Time Domain Smoothing
        852697 - Preserve Formants, Time Domain Smoothing
        852698 - Mid/Side, Time Domain Smoothing
        852699 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852700 - Independent Phase, Time Domain Smoothing
        852701 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852702 - Mid/Side, Independent Phase, Time Domain Smoothing
        852703 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Pitch Mode: Consistent, Window: Short
        852704 - nothing
        852705 - Preserve Formants
        852706 - Mid/Side
        852707 - Preserve Formants, Mid/Side
        852708 - Independent Phase
        852709 - Preserve Formants, Independent Phase
        852710 - Mid/Side, Independent Phase
        852711 - Preserve Formants, Mid/Side, Independent Phase
        852712 - Time Domain Smoothing
        852713 - Preserve Formants, Time Domain Smoothing
        852714 - Mid/Side, Time Domain Smoothing
        852715 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852716 - Independent Phase, Time Domain Smoothing
        852717 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852718 - Mid/Side, Independent Phase, Time Domain Smoothing
        852719 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Pitch Mode: Consistent, Window: Short
        852720 - nothing
        852721 - Preserve Formants
        852722 - Mid/Side
        852723 - Preserve Formants, Mid/Side
        852724 - Independent Phase
        852725 - Preserve Formants, Independent Phase
        852726 - Mid/Side, Independent Phase
        852727 - Preserve Formants, Mid/Side, Independent Phase
        852728 - Time Domain Smoothing
        852729 - Preserve Formants, Time Domain Smoothing
        852730 - Mid/Side, Time Domain Smoothing
        852731 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852732 - Independent Phase, Time Domain Smoothing
        852733 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852734 - Mid/Side, Independent Phase, Time Domain Smoothing
        852735 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Percussive, Pitch Mode: Consistent, Window: Short
        852736 - nothing
        852737 - Preserve Formants
        852738 - Mid/Side
        852739 - Preserve Formants, Mid/Side
        852740 - Independent Phase
        852741 - Preserve Formants, Independent Phase
        852742 - Mid/Side, Independent Phase
        852743 - Preserve Formants, Mid/Side, Independent Phase
        852744 - Time Domain Smoothing
        852745 - Preserve Formants, Time Domain Smoothing
        852746 - Mid/Side, Time Domain Smoothing
        852747 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852748 - Independent Phase, Time Domain Smoothing
        852749 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852750 - Mid/Side, Independent Phase, Time Domain Smoothing
        852751 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Percussive, Pitch Mode: Consistent, Window: Short
        852752 - nothing
        852753 - Preserve Formants
        852754 - Mid/Side
        852755 - Preserve Formants, Mid/Side
        852756 - Independent Phase
        852757 - Preserve Formants, Independent Phase
        852758 - Mid/Side, Independent Phase
        852759 - Preserve Formants, Mid/Side, Independent Phase
        852760 - Time Domain Smoothing
        852761 - Preserve Formants, Time Domain Smoothing
        852762 - Mid/Side, Time Domain Smoothing
        852763 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852764 - Independent Phase, Time Domain Smoothing
        852765 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852766 - Mid/Side, Independent Phase, Time Domain Smoothing
        852767 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Percussive, Pitch Mode: Consistent, Window: Short
        852768 - nothing
        852769 - Preserve Formants
        852770 - Mid/Side
        852771 - Preserve Formants, Mid/Side
        852772 - Independent Phase
        852773 - Preserve Formants, Independent Phase
        852774 - Mid/Side, Independent Phase
        852775 - Preserve Formants, Mid/Side, Independent Phase
        852776 - Time Domain Smoothing
        852777 - Preserve Formants, Time Domain Smoothing
        852778 - Mid/Side, Time Domain Smoothing
        852779 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852780 - Independent Phase, Time Domain Smoothing
        852781 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852782 - Mid/Side, Independent Phase, Time Domain Smoothing
        852783 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Soft, Pitch Mode: Consistent, Window: Short
        852784 - nothing
        852785 - Preserve Formants
        852786 - Mid/Side
        852787 - Preserve Formants, Mid/Side
        852788 - Independent Phase
        852789 - Preserve Formants, Independent Phase
        852790 - Mid/Side, Independent Phase
        852791 - Preserve Formants, Mid/Side, Independent Phase
        852792 - Time Domain Smoothing
        852793 - Preserve Formants, Time Domain Smoothing
        852794 - Mid/Side, Time Domain Smoothing
        852795 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852796 - Independent Phase, Time Domain Smoothing
        852797 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852798 - Mid/Side, Independent Phase, Time Domain Smoothing
        852799 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Soft, Pitch Mode: Consistent, Window: Short
        852800 - nothing
        852801 - Preserve Formants
        852802 - Mid/Side
        852803 - Preserve Formants, Mid/Side
        852804 - Independent Phase
        852805 - Preserve Formants, Independent Phase
        852806 - Mid/Side, Independent Phase
        852807 - Preserve Formants, Mid/Side, Independent Phase
        852808 - Time Domain Smoothing
        852809 - Preserve Formants, Time Domain Smoothing
        852810 - Mid/Side, Time Domain Smoothing
        852811 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852812 - Independent Phase, Time Domain Smoothing
        852813 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852814 - Mid/Side, Independent Phase, Time Domain Smoothing
        852815 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Soft, Pitch Mode: Consistent, Window: Short
        852816 - nothing
        852817 - Preserve Formants
        852818 - Mid/Side
        852819 - Preserve Formants, Mid/Side
        852820 - Independent Phase
        852821 - Preserve Formants, Independent Phase
        852822 - Mid/Side, Independent Phase
        852823 - Preserve Formants, Mid/Side, Independent Phase
        852824 - Time Domain Smoothing
        852825 - Preserve Formants, Time Domain Smoothing
        852826 - Mid/Side, Time Domain Smoothing
        852827 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852828 - Independent Phase, Time Domain Smoothing
        852829 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852830 - Mid/Side, Independent Phase, Time Domain Smoothing
        852831 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Window: Long
        852832 - nothing
        852833 - Preserve Formants
        852834 - Mid/Side
        852835 - Preserve Formants, Mid/Side
        852836 - Independent Phase
        852837 - Preserve Formants, Independent Phase
        852838 - Mid/Side, Independent Phase
        852839 - Preserve Formants, Mid/Side, Independent Phase
        852840 - Time Domain Smoothing
        852841 - Preserve Formants, Time Domain Smoothing
        852842 - Mid/Side, Time Domain Smoothing
        852843 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852844 - Independent Phase, Time Domain Smoothing
        852845 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852846 - Mid/Side, Independent Phase, Time Domain Smoothing
        852847 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Window: Long
        852848 - nothing
        852849 - Preserve Formants
        852850 - Mid/Side
        852851 - Preserve Formants, Mid/Side
        852852 - Independent Phase
        852853 - Preserve Formants, Independent Phase
        852854 - Mid/Side, Independent Phase
        852855 - Preserve Formants, Mid/Side, Independent Phase
        852856 - Time Domain Smoothing
        852857 - Preserve Formants, Time Domain Smoothing
        852858 - Mid/Side, Time Domain Smoothing
        852859 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852860 - Independent Phase, Time Domain Smoothing
        852861 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852862 - Mid/Side, Independent Phase, Time Domain Smoothing
        852863 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Window: Long
        852864 - nothing
        852865 - Preserve Formants
        852866 - Mid/Side
        852867 - Preserve Formants, Mid/Side
        852868 - Independent Phase
        852869 - Preserve Formants, Independent Phase
        852870 - Mid/Side, Independent Phase
        852871 - Preserve Formants, Mid/Side, Independent Phase
        852872 - Time Domain Smoothing
        852873 - Preserve Formants, Time Domain Smoothing
        852874 - Mid/Side, Time Domain Smoothing
        852875 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852876 - Independent Phase, Time Domain Smoothing
        852877 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852878 - Mid/Side, Independent Phase, Time Domain Smoothing
        852879 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Percussive, Window: Long
        852880 - nothing
        852881 - Preserve Formants
        852882 - Mid/Side
        852883 - Preserve Formants, Mid/Side
        852884 - Independent Phase
        852885 - Preserve Formants, Independent Phase
        852886 - Mid/Side, Independent Phase
        852887 - Preserve Formants, Mid/Side, Independent Phase
        852888 - Time Domain Smoothing
        852889 - Preserve Formants, Time Domain Smoothing
        852890 - Mid/Side, Time Domain Smoothing
        852891 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852892 - Independent Phase, Time Domain Smoothing
        852893 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852894 - Mid/Side, Independent Phase, Time Domain Smoothing
        852895 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Percussive, Window: Long
        852896 - nothing
        852897 - Preserve Formants
        852898 - Mid/Side
        852899 - Preserve Formants, Mid/Side
        852900 - Independent Phase
        852901 - Preserve Formants, Independent Phase
        852902 - Mid/Side, Independent Phase
        852903 - Preserve Formants, Mid/Side, Independent Phase
        852904 - Time Domain Smoothing
        852905 - Preserve Formants, Time Domain Smoothing
        852906 - Mid/Side, Time Domain Smoothing
        852907 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852908 - Independent Phase, Time Domain Smoothing
        852909 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852910 - Mid/Side, Independent Phase, Time Domain Smoothing
        852911 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Percussive, Window: Long
        852912 - nothing
        852913 - Preserve Formants
        852914 - Mid/Side
        852915 - Preserve Formants, Mid/Side
        852916 - Independent Phase
        852917 - Preserve Formants, Independent Phase
        852918 - Mid/Side, Independent Phase
        852919 - Preserve Formants, Mid/Side, Independent Phase
        852920 - Time Domain Smoothing
        852921 - Preserve Formants, Time Domain Smoothing
        852922 - Mid/Side, Time Domain Smoothing
        852923 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852924 - Independent Phase, Time Domain Smoothing
        852925 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852926 - Mid/Side, Independent Phase, Time Domain Smoothing
        852927 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Soft, Window: Long
        852928 - nothing
        852929 - Preserve Formants
        852930 - Mid/Side
        852931 - Preserve Formants, Mid/Side
        852932 - Independent Phase
        852933 - Preserve Formants, Independent Phase
        852934 - Mid/Side, Independent Phase
        852935 - Preserve Formants, Mid/Side, Independent Phase
        852936 - Time Domain Smoothing
        852937 - Preserve Formants, Time Domain Smoothing
        852938 - Mid/Side, Time Domain Smoothing
        852939 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852940 - Independent Phase, Time Domain Smoothing
        852941 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852942 - Mid/Side, Independent Phase, Time Domain Smoothing
        852943 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Soft, Window: Long
        852944 - nothing
        852945 - Preserve Formants
        852946 - Mid/Side
        852947 - Preserve Formants, Mid/Side
        852948 - Independent Phase
        852949 - Preserve Formants, Independent Phase
        852950 - Mid/Side, Independent Phase
        852951 - Preserve Formants, Mid/Side, Independent Phase
        852952 - Time Domain Smoothing
        852953 - Preserve Formants, Time Domain Smoothing
        852954 - Mid/Side, Time Domain Smoothing
        852955 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852956 - Independent Phase, Time Domain Smoothing
        852957 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852958 - Mid/Side, Independent Phase, Time Domain Smoothing
        852959 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Soft, Window: Long
        852960 - nothing
        852961 - Preserve Formants
        852962 - Mid/Side
        852963 - Preserve Formants, Mid/Side
        852964 - Independent Phase
        852965 - Preserve Formants, Independent Phase
        852966 - Mid/Side, Independent Phase
        852967 - Preserve Formants, Mid/Side, Independent Phase
        852968 - Time Domain Smoothing
        852969 - Preserve Formants, Time Domain Smoothing
        852970 - Mid/Side, Time Domain Smoothing
        852971 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852972 - Independent Phase, Time Domain Smoothing
        852973 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852974 - Mid/Side, Independent Phase, Time Domain Smoothing
        852975 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Pitch Mode: HighQ, Window: Long
        852976 - nothing
        852977 - Preserve Formants
        852978 - Mid/Side
        852979 - Preserve Formants, Mid/Side
        852980 - Independent Phase
        852981 - Preserve Formants, Independent Phase
        852982 - Mid/Side, Independent Phase
        852983 - Preserve Formants, Mid/Side, Independent Phase
        852984 - Time Domain Smoothing
        852985 - Preserve Formants, Time Domain Smoothing
        852986 - Mid/Side, Time Domain Smoothing
        852987 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852988 - Independent Phase, Time Domain Smoothing
        852989 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852990 - Mid/Side, Independent Phase, Time Domain Smoothing
        852991 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Pitch Mode: HighQ, Window: Long
        852992 - nothing
        852993 - Preserve Formants
        852994 - Mid/Side
        852995 - Preserve Formants, Mid/Side
        852996 - Independent Phase
        852997 - Preserve Formants, Independent Phase
        852998 - Mid/Side, Independent Phase
        852999 - Preserve Formants, Mid/Side, Independent Phase
        853000 - Time Domain Smoothing
        853001 - Preserve Formants, Time Domain Smoothing
        853002 - Mid/Side, Time Domain Smoothing
        853003 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853004 - Independent Phase, Time Domain Smoothing
        853005 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853006 - Mid/Side, Independent Phase, Time Domain Smoothing
        853007 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Pitch Mode: HighQ, Window: Long
        853008 - nothing
        853009 - Preserve Formants
        853010 - Mid/Side
        853011 - Preserve Formants, Mid/Side
        853012 - Independent Phase
        853013 - Preserve Formants, Independent Phase
        853014 - Mid/Side, Independent Phase
        853015 - Preserve Formants, Mid/Side, Independent Phase
        853016 - Time Domain Smoothing
        853017 - Preserve Formants, Time Domain Smoothing
        853018 - Mid/Side, Time Domain Smoothing
        853019 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853020 - Independent Phase, Time Domain Smoothing
        853021 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853022 - Mid/Side, Independent Phase, Time Domain Smoothing
        853023 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Percussive, Pitch Mode: HighQ, Window: Long
        853024 - nothing
        853025 - Preserve Formants
        853026 - Mid/Side
        853027 - Preserve Formants, Mid/Side
        853028 - Independent Phase
        853029 - Preserve Formants, Independent Phase
        853030 - Mid/Side, Independent Phase
        853031 - Preserve Formants, Mid/Side, Independent Phase
        853032 - Time Domain Smoothing
        853033 - Preserve Formants, Time Domain Smoothing
        853034 - Mid/Side, Time Domain Smoothing
        853035 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853036 - Independent Phase, Time Domain Smoothing
        853037 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853038 - Mid/Side, Independent Phase, Time Domain Smoothing
        853039 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Percussive, Pitch Mode: HighQ, Window: Long
        853040 - nothing
        853041 - Preserve Formants
        853042 - Mid/Side
        853043 - Preserve Formants, Mid/Side
        853044 - Independent Phase
        853045 - Preserve Formants, Independent Phase
        853046 - Mid/Side, Independent Phase
        853047 - Preserve Formants, Mid/Side, Independent Phase
        853048 - Time Domain Smoothing
        853049 - Preserve Formants, Time Domain Smoothing
        853050 - Mid/Side, Time Domain Smoothing
        853051 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853052 - Independent Phase, Time Domain Smoothing
        853053 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853054 - Mid/Side, Independent Phase, Time Domain Smoothing
        853055 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Percussive, Pitch Mode: HighQ, Window: Long
        853056 - nothing
        853057 - Preserve Formants
        853058 - Mid/Side
        853059 - Preserve Formants, Mid/Side
        853060 - Independent Phase
        853061 - Preserve Formants, Independent Phase
        853062 - Mid/Side, Independent Phase
        853063 - Preserve Formants, Mid/Side, Independent Phase
        853064 - Time Domain Smoothing
        853065 - Preserve Formants, Time Domain Smoothing
        853066 - Mid/Side, Time Domain Smoothing
        853067 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853068 - Independent Phase, Time Domain Smoothing
        853069 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853070 - Mid/Side, Independent Phase, Time Domain Smoothing
        853071 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Soft, Pitch Mode: HighQ, Window: Long
        853072 - nothing
        853073 - Preserve Formants
        853074 - Mid/Side
        853075 - Preserve Formants, Mid/Side
        853076 - Independent Phase
        853077 - Preserve Formants, Independent Phase
        853078 - Mid/Side, Independent Phase
        853079 - Preserve Formants, Mid/Side, Independent Phase
        853080 - Time Domain Smoothing
        853081 - Preserve Formants, Time Domain Smoothing
        853082 - Mid/Side, Time Domain Smoothing
        853083 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853084 - Independent Phase, Time Domain Smoothing
        853085 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853086 - Mid/Side, Independent Phase, Time Domain Smoothing
        853087 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Soft, Pitch Mode: HighQ, Window: Long
        853088 - nothing
        853089 - Preserve Formants
        853090 - Mid/Side
        853091 - Preserve Formants, Mid/Side
        853092 - Independent Phase
        853093 - Preserve Formants, Independent Phase
        853094 - Mid/Side, Independent Phase
        853095 - Preserve Formants, Mid/Side, Independent Phase
        853096 - Time Domain Smoothing
        853097 - Preserve Formants, Time Domain Smoothing
        853098 - Mid/Side, Time Domain Smoothing
        853099 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853100 - Independent Phase, Time Domain Smoothing
        853101 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853102 - Mid/Side, Independent Phase, Time Domain Smoothing
        853103 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Soft, Pitch Mode: HighQ, Window: Long
        853104 - nothing
        853105 - Preserve Formants
        853106 - Mid/Side
        853107 - Preserve Formants, Mid/Side
        853108 - Independent Phase
        853109 - Preserve Formants, Independent Phase
        853110 - Mid/Side, Independent Phase
        853111 - Preserve Formants, Mid/Side, Independent Phase
        853112 - Time Domain Smoothing
        853113 - Preserve Formants, Time Domain Smoothing
        853114 - Mid/Side, Time Domain Smoothing
        853115 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853116 - Independent Phase, Time Domain Smoothing
        853117 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853118 - Mid/Side, Independent Phase, Time Domain Smoothing
        853119 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Pitch Mode: Consistent, Window: Long
        853120 - nothing
        853121 - Preserve Formants
        853122 - Mid/Side
        853123 - Preserve Formants, Mid/Side
        853124 - Independent Phase
        853125 - Preserve Formants, Independent Phase
        853126 - Mid/Side, Independent Phase
        853127 - Preserve Formants, Mid/Side, Independent Phase
        853128 - Time Domain Smoothing
        853129 - Preserve Formants, Time Domain Smoothing
        853130 - Mid/Side, Time Domain Smoothing
        853131 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853132 - Independent Phase, Time Domain Smoothing
        853133 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853134 - Mid/Side, Independent Phase, Time Domain Smoothing
        853135 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Pitch Mode: Consistent, Window: Long
        853136 - nothing
        853137 - Preserve Formants
        853138 - Mid/Side
        853139 - Preserve Formants, Mid/Side
        853140 - Independent Phase
        853141 - Preserve Formants, Independent Phase
        853142 - Mid/Side, Independent Phase
        853143 - Preserve Formants, Mid/Side, Independent Phase
        853144 - Time Domain Smoothing
        853145 - Preserve Formants, Time Domain Smoothing
        853146 - Mid/Side, Time Domain Smoothing
        853147 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853148 - Independent Phase, Time Domain Smoothing
        853149 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853150 - Mid/Side, Independent Phase, Time Domain Smoothing
        853151 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Pitch Mode: Consistent, Window: Long
        853152 - nothing
        853153 - Preserve Formants
        853154 - Mid/Side
        853155 - Preserve Formants, Mid/Side
        853156 - Independent Phase
        853157 - Preserve Formants, Independent Phase
        853158 - Mid/Side, Independent Phase
        853159 - Preserve Formants, Mid/Side, Independent Phase
        853160 - Time Domain Smoothing
        853161 - Preserve Formants, Time Domain Smoothing
        853162 - Mid/Side, Time Domain Smoothing
        853163 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853164 - Independent Phase, Time Domain Smoothing
        853165 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853166 - Mid/Side, Independent Phase, Time Domain Smoothing
        853167 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Percussive, Pitch Mode: Consistent, Window: Long
        853168 - nothing
        853169 - Preserve Formants
        853170 - Mid/Side
        853171 - Preserve Formants, Mid/Side
        853172 - Independent Phase
        853173 - Preserve Formants, Independent Phase
        853174 - Mid/Side, Independent Phase
        853175 - Preserve Formants, Mid/Side, Independent Phase
        853176 - Time Domain Smoothing
        853177 - Preserve Formants, Time Domain Smoothing
        853178 - Mid/Side, Time Domain Smoothing
        853179 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853180 - Independent Phase, Time Domain Smoothing
        853181 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853182 - Mid/Side, Independent Phase, Time Domain Smoothing
        853183 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Percussive, Pitch Mode: Consistent, Window: Long
        853184 - nothing
        853185 - Preserve Formants
        853186 - Mid/Side
        853187 - Preserve Formants, Mid/Side
        853188 - Independent Phase
        853189 - Preserve Formants, Independent Phase
        853190 - Mid/Side, Independent Phase
        853191 - Preserve Formants, Mid/Side, Independent Phase
        853192 - Time Domain Smoothing
        853193 - Preserve Formants, Time Domain Smoothing
        853194 - Mid/Side, Time Domain Smoothing
        853195 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853196 - Independent Phase, Time Domain Smoothing
        853197 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853198 - Mid/Side, Independent Phase, Time Domain Smoothing
        853199 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Percussive, Pitch Mode: Consistent, Window: Long
        853200 - nothing
        853201 - Preserve Formants
        853202 - Mid/Side
        853203 - Preserve Formants, Mid/Side
        853204 - Independent Phase
        853205 - Preserve Formants, Independent Phase
        853206 - Mid/Side, Independent Phase
        853207 - Preserve Formants, Mid/Side, Independent Phase
        853208 - Time Domain Smoothing
        853209 - Preserve Formants, Time Domain Smoothing
        853210 - Mid/Side, Time Domain Smoothing
        853211 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853212 - Independent Phase, Time Domain Smoothing
        853213 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853214 - Mid/Side, Independent Phase, Time Domain Smoothing
        853215 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Soft, Pitch Mode: Consistent, Window: Long
        853216 - nothing
        853217 - Preserve Formants
        853218 - Mid/Side
        853219 - Preserve Formants, Mid/Side
        853220 - Independent Phase
        853221 - Preserve Formants, Independent Phase
        853222 - Mid/Side, Independent Phase
        853223 - Preserve Formants, Mid/Side, Independent Phase
        853224 - Time Domain Smoothing
        853225 - Preserve Formants, Time Domain Smoothing
        853226 - Mid/Side, Time Domain Smoothing
        853227 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853228 - Independent Phase, Time Domain Smoothing
        853229 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853230 - Mid/Side, Independent Phase, Time Domain Smoothing
        853231 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Soft, Pitch Mode: Consistent, Window: Long
        853232 - nothing
        853233 - Preserve Formants
        853234 - Mid/Side
        853235 - Preserve Formants, Mid/Side
        853236 - Independent Phase
        853237 - Preserve Formants, Independent Phase
        853238 - Mid/Side, Independent Phase
        853239 - Preserve Formants, Mid/Side, Independent Phase
        853240 - Time Domain Smoothing
        853241 - Preserve Formants, Time Domain Smoothing
        853242 - Mid/Side, Time Domain Smoothing
        853243 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853244 - Independent Phase, Time Domain Smoothing
        853245 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853246 - Mid/Side, Independent Phase, Time Domain Smoothing
        853247 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Soft, Pitch Mode: Consistent, Window: Long
        853248 - nothing
        853249 - Preserve Formants
        853250 - Mid/Side
        853251 - Preserve Formants, Mid/Side
        853252 - Independent Phase
        853253 - Preserve Formants, Independent Phase
        853254 - Mid/Side, Independent Phase
        853255 - Preserve Formants, Mid/Side, Independent Phase
        853256 - Time Domain Smoothing
        853257 - Preserve Formants, Time Domain Smoothing
        853258 - Mid/Side, Time Domain Smoothing
        853259 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853260 - Independent Phase, Time Domain Smoothing
        853261 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853262 - Mid/Side, Independent Phase, Time Domain Smoothing
        853263 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

Returns nil in case of error.

Parameters:
MediaItem MediaItem the MediaItem, whose playback-rate-state you want to know; nil, use parameter MediaItemStatechunk instead
optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk

Returnvalues:
number playbackrate 1 is 1x, 2 is 2x, 1.8 is 1.8x,etc
integer preserve_pitch preserve pitch, 1 - preserve, 0 - don't preserve
number pitch_adjust pitch_adjust(semitones); negative values allowed; 1.1=1.1 semitones higher, -0.3=0.3 semitones lower,etc
integer takepitch_timestretch_mode - the item's pitchmode - 65536 for project-default
integer optimize_tonal_content 2, checkbox for optimize-tonal-content is set on; 0, checkbox for optimize-tonal-content is set off
number stretch_marker_fadesize in milliseconds; negative values are allowed



^ Reaper version 5.40 Ultraschall version 4.00GetItemPosition

Functioncall:
Lua: number position = ultraschall.GetItemPosition(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:

Returns position-entry of a MediaItem or MediaItemStateChunk.
Returns nil in case of error.

Parameters:
MediaItem MediaItem the MediaItem, whose position you want to know; nil, use parameter MediaItemStatechunk instead
optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk

Returnvalues:
number position the position in seconds, as set in the statechunk



^ Reaper version 5.40 Ultraschall version 4.00GetItemRecPass

Functioncall:
Lua: integer recpass_state = ultraschall.GetItemRecPass(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:

Returns the recpass-entry of a MediaItem or MediaItemStateChunk.
It's the counter of the recorded item-takes within a project, ordered by the order of recording. Only displayed with recorded item-takes, not imported ones.

It's the RECPASS-entry.
Returns nil in case of error.

Parameters:
MediaItem MediaItem the MediaItem, whose recpass-state you want to know; nil, use parameter MediaItemStatechunk instead
optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk

Returnvalues:
integer recpass_state the number of recorded mediaitem; every recorded item gets it's counting-number.



^ Reaper version 5.40 Ultraschall version 4.00GetItemSampleOffset

Functioncall:
Lua: number sampleoffset = ultraschall.GetItemSampleOffset(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:

Returns the sampleoffset-entry of a MediaItem or MediaItemStateChunk.
It's the SOFFS-entry.
Returns nil in case of error.

Parameters:
MediaItem MediaItem the MediaItem, whose sample-offset-state you want to know; nil, use parameter MediaItemStatechunk instead
optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk

Returnvalues:
number sampleoffset sampleoffset in seconds



^ Reaper version 5.40 Ultraschall version 4.00GetItemSelected

Functioncall:
Lua: integer selected_state = ultraschall.GetItemSelected(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:

Returns item-selected-state-entry of a MediaItem or MediaItemStateChunk.
It's the SEL-entry.
Returns nil in case of error.

Parameters:
MediaItem MediaItem the MediaItem, whose selection-state you want to know; nil, use parameter MediaItemStatechunk instead
optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk

Returnvalues:
integer selected_state the item-selected-state; 1 - item is selected; 0 - item is not selected



^ Reaper version 5.40 Ultraschall version 4.00GetItemSnapOffset

Functioncall:
Lua: number snapoffset = ultraschall.GetItemSnapOffset(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:

Returns snapoffs-entry of a MediaItem or MediaItemStateChunk.
Returns nil in case of error.

Parameters:
MediaItem MediaItem the MediaItem, whose snapoffset you want to know; nil, use parameter MediaItemStatechunk instead
optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk

Returnvalues:
number snapoffset the snapoffset in seconds, as set in the statechunk



^ Reaper version 5.95 Ultraschall version 4.00GetItemStateChunk

Functioncall:
Lua: boolean retval, string MediaItemStateChunk = ultraschall.GetItemStateChunk(MediaItem MediaItem, boolean AddTracknumber)

Description:

Returns the statechunk of MediaItem. Parameter AddTracknumber allows you to set, whether the tracknumber of the MediaItem shall be inserted to the statechunk as well, by the new entry "ULTRASCHALL_TRACKNUMBER".

returns false in case of an error

Parameters:
MediaItem MediaItem the MediaItem, whose statechunk you want to have
boolean AddTracknumber nil or true; add the tracknumber, where the MediaItem lies, as additional entry entry "ULTRASCHALL_TRACKNUMBER" to the statechunk; false, just return the original statechunk.

Returnvalues:
boolean retval true, if getting the statechunk was successful; false, if not
string MediaItemStateChunk the statechunk of the MediaItem



^ Reaper version 5.40 Ultraschall version 4.00GetItemUSTrackNumber_StateChunk

Functioncall:
Lua: integer tracknumber, MediaTrack track = ultraschall.GetItemUSTrackNumber_StateChunk(string MediaItemStateChunk)

Description:

Returns the tracknumber as well as the mediatrack-object from where the mediaitem was from, as given by a MediaItemStateChunk. This works only, if the StateChunk contains the entry "ULTRASCHALL_TRACKNUMBER", which holds the original tracknumber of the MediaItem.

This entry will only be added by functions from the Ultraschall-API, like GetAllMediaItemsBetween Returns -1 in case of error.


Parameters:
string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk

Returnvalues:
integer tracknumber the tracknumber, where this item came from; starts with 1 for the first track!
MediaTrack track the accompanying track as MediaTrack-object



^ Reaper version 5.40 Ultraschall version 4.00GetItemVolPan

Functioncall:
Lua: number volpan1, number pan, number volume, number volpan4 = ultraschall.GetItemVolPan(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:

Returns the vol/pan-entries of a MediaItem or MediaItemStateChunk.
Returns nil in case of error.

Parameters:
MediaItem MediaItem the MediaItem, whose volpan-state you want to know; nil, use parameter MediaItemStatechunk instead
optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk

Returnvalues:
number volpan1 unknown
number pan from -1(100%L) to 1(100%R), 0 is center
number volume from 0(-inf) to 3.981072(+12db), 1 is 0db; higher numbers are allowed; negative means phase inverted
number volpan4 unknown



^ Reaper version 6.11 Ultraschall version 4.1GetItem_Video_IgnoreAudio

Functioncall:
Lua: boolean checked_state = ultraschall.GetItem_Video_IgnoreAudio(MediaItem Item, integer take_index, optional string StateChunk)

Description:

Gets the "Ignore audio"-checkbox of a video-item-source in a specific MediaItem-take.

Returns nil in case of an error(no video source in take)


Returnvalues:
boolean checked_state true, checkbox is checked; false, checkbox is unchecked




^ Reaper version 5.40 SWS version 2.8.8 Ultraschall version 4.00EnumerateMediaItemsInTrack

Functioncall:
Lua: MediaItem item, integer itemcount, array MediaItemArray = ultraschall.EnumerateMediaItemsInTrack(integer tracknumber, integer itemnumber)

Description:

returns the itemnumberth MediaItemobject in track, the number of items in tracknumber and an array with all MediaItems from this track.
returns -1 in case of error

Parameters:
integer tracknumber the tracknumber, from where you want to get the item
integer itemnumber the itemnumber within that track. 1 for the first, 2 for the second, etc

Returnvalues:
MediaItem item the Mediaitem, as requested by parameter itemnumber
integer itemcount the number of items in that track
array MediaItemArray an array with all MediaItems from this track



^ Reaper version 5.40 Ultraschall version 4.00GetAllLockedItemsFromMediaItemArray

Functioncall:
Lua: integer countlock, array locked_MediaItemArray, integer countunlock, array unlocked_MediaItemArray = ultraschall.GetAllLockedItemsFromMediaItemArray(array MediaItemArray)

Description:

Returns the number and the items that are locked, as well as the number and the items that are NOT locked.
The items are returned as MediaItemArrays
returns -1 in case of failure

Parameters:
array MediaItemArray the statechunkarray of the items to be checked.

Returnvalues:
integer countlock the number of locked items. -1 in case of failure
array locked_MediaItemArray the locked items in a mediaitemarray
integer countunlock the number of un(!)locked items
array unlocked_MediaItemArray the un(!)locked items in a mediaitemarray



^ Reaper version 5.77 Ultraschall version 4.00GetAllMediaItems

Functioncall:
Lua: integer itemcount, MediaItemArray MediaItemArray = ultraschall.GetAllMediaItems()

Description:

Returns a MediaItemArray with all MediaItems in the current project

Returnvalues:
integer itemcount the number of items in the MediaItemArray
MediaItemArray MediaItemArray an array with all MediaItems from the current project



^ Reaper version 5.40 Ultraschall version 4.00GetAllMediaItemsBetween

Functioncall:
Lua: integer count, array MediaItemArray, array MediaItemStateChunkArray = ultraschall.GetAllMediaItemsBetween(number startposition, number endposition, string trackstring, boolean inside)

Description:

Gets all MediaItems between startposition and endposition from the tracks as given by trackstring.
Set inside to true to get only items, that are fully within the start and endposition, set it to false, if you also want items, that are just partially inside(end or just the beginning of the item).

Returns the number of items, an array with all the MediaItems and an array with all the MediaItemStateChunks of the items, as used by functions as InsertMediaItem_MediaItemStateChunk, reaper.GetItemStateChunk and reaper.SetItemStateChunk.
The statechunks include a new element "ULTRASCHALL_TRACKNUMBER", which contains the tracknumber of where the item originally was in; important, if you delete the items as you'll otherwise loose this information!
Returns -1 in case of failure.

Parameters:
number startposition startposition in seconds
number endposition endposition in seconds
string trackstring the tracknumbers, separated by a comma
boolean inside true, only items that are completely within selection; false, include items that are partially within selection

Returnvalues:
integer count the number of found items
array MediaItemArray an array with all the found MediaItems
array MediaItemStateChunkArray an array with the MediaItemStateChunks, that can be used to create new items with InsertMediaItem_MediaItemStateChunk



^ Reaper version 5.40 SWS version 2.8.8 Ultraschall version 4.00GetAllMediaItemsFromTrack

Functioncall:
Lua: integer itemcount, array MediaItemArray, array MediaItemStateChunkArray = ultraschall.GetAllMediaItemsFromTrack(integer tracknumber)

Description:

returns the number of items of tracknumber, as well as an array with all MediaItems and an array with all MediaItemStateChunks
returns -1 in case of error

Parameters:
integer tracknumber the tracknumber, from where you want to get the item

Returnvalues:
integer itemcount the number of items in that track
array MediaItemArray an array with all MediaItems from this track
array MediaItemStateChunkArray an array with all MediaItemStateCunks from this track



^ Reaper version 5.77 Ultraschall version 4.00GetAllMediaItemsInTimeSelection

Functioncall:
Lua: integer count, array MediaItemArray = ultraschall.GetAllMediaItemsInTimeSelection(string trackstring, boolean inside)

Description:

Gets all MediaItems from within a time-selection

Returns -1 in case of an error

Parameters:
string trackstring a string with all tracknumbers, separated by a comma; 1 for the first track, 2 for the second

Returnvalues:
integer count the number of items found in time-selection
array MediaItemArray an array with all MediaItems found within time-selection



^ Reaper version 6.02 Ultraschall version 4.00GetAllSelectedMediaItemsBetween

Functioncall:
Lua: integer count, array MediaItemArray, array MediaItemStateChunkArray = ultraschall.GetAllSelectedMediaItemsBetween(number startposition, number endposition, string trackstring, boolean inside)

Description:

Gets all selected MediaItems between startposition and endposition from the tracks as given by trackstring.
Set inside to true to get only items, that are fully within the start and endposition, set it to false, if you also want items, that are just partially inside(end or just the beginning of the item).

Returns the number of selected items, an array with all the selected MediaItems and an array with all the MediaItemStateChunks of the selected items, as used by functions as InsertMediaItem_MediaItemStateChunk, reaper.GetItemStateChunk and reaper.SetItemStateChunk.
The statechunks include a new element "ULTRASCHALL_TRACKNUMBER", which contains the tracknumber of where the item originally was in; important, if you delete the items as you'll otherwise loose this information!
Returns -1 in case of failure.

Parameters:
number startposition startposition in seconds
number endposition endposition in seconds
string trackstring the tracknumbers, separated by a comma
boolean inside true, only items that are completely within selection; false, include items that are partially within selection

Returnvalues:
integer count the number of selected items
array MediaItemArray an array with all the found and selected MediaItems
array MediaItemStateChunkArray an array with the MediaItemStateChunks, that can be used to create new items with InsertMediaItem_MediaItemStateChunk



^ Reaper version 5.40 Ultraschall version 4.00GetMediaItemsAtPosition

Functioncall:
Lua: integer number_of_items, array MediaItemArray, array MediaItemStateChunkArray = ultraschall.GetMediaItemsAtPosition(number position, string trackstring)

Description:

Gets all Mediaitems at position, from the tracks given by trackstring.
Returns a MediaItemArray with the found MediaItems

returns -1 in case of error

Parameters:
number position position in seconds
string trackstring the tracknumbers, separated by a comma

Returnvalues:
integer number_of_items the number of items at position
array MediaItemArray an array, that contains all MediaItems at position from the tracks given by trackstring.
array MediaItemStateChunkArray an array, that contains all Mediaitem's MediaItemStatechunks at position from the tracks given by trackstring.




^ Reaper version 5.40 SWS version 2.9.7 Ultraschall version 4.00InsertImageFile

Functioncall:
Lua: boolean retval, MediaItem item = ultraschall.InsertImageFile(string filename_with_path, integer track, number position, number length, boolean looped)

Description:

Inserts a supported image-file into your project.
Due API-limitations, it creates two undo-points(one for inserting the MediaItem and one for changing the length).

Returns false in case of an error

Parameters:
string filename_with_path the file to check for it's image-fileformat
integer track the track, in which the image shall be inserted
number position the position of the inserted image in seconds
number length the length of the image-item in seconds; 1, for the default length of 1 second
boolean looped true, loop the inserted image-file; false, don't loop the inserted image-file

Returnvalues:
boolean retval true, if inserting was successful; false, if inserting was unsuccessful
MediaItem item the MediaItem of the newly inserted image



^ Reaper version 5.40 Ultraschall version 4.00InsertMediaItemArray

Functioncall:
Lua: integer number_of_items, array MediaItemArray = ultraschall.InsertMediaItemArray(number position, array MediaItemArray, string trackstring)

Description:

Inserts the MediaItems from MediaItemArray at position into the tracks, as given by trackstring.

Returns the number of newly created items, as well as an array with the newly create MediaItems.
Returns -1 in case of failure.

Note: this inserts the items only in the tracks, where the original items came from. Items from track 1 will be included into track 1. Trackstring only helps to include or exclude the items from inclusion into certain tracks.
If you have a MediaItemArray with items from track 1,2,3,4,5 and you give trackstring only the tracknumber for track 3 and 4 -> 3,4, then only the items, that were in tracks 3 and 4 originally, will be included, all the others will be ignored.

Parameters:
number position the position of the newly created mediaitem
array MediaItemArray an array with the MediaItems to be inserted
string trackstring the numbers of the tracks, separated by a ,

Returnvalues:
integer number_of_items the number of MediaItems created
array MediaItemArray an array with the newly created MediaItems



^ Reaper version 5.40 SWS version 2.9.7 Ultraschall version 4.00InsertMediaItemFromFile

Functioncall:
Lua: integer retval, MediaItem item, number endposition, integer numchannels, integer Samplerate, string Filetype, number editcursorposition, MediaTrack track = ultraschall.InsertMediaItemFromFile(string filename, integer track, number position, number endposition, integer editcursorpos, optional number offset)

Description:

Inserts the mediafile filename into the project at position in track
When giving an rpp-projectfile, it will be rendered by Reaper and inserted as subproject!

Due API-limitations, it creates two undo-points: one for inserting the MediaItem and one for changing the length(when endposition isn't -1).    

Returns -1 in case of failure

Parameters:
string filename the path+filename of the mediafile to be inserted into the project
integer track the track, in which the file shall be inserted 0, insert the file into a newly inserted track after the last track -1, insert the file into a newly inserted track before the first track
number position the position of the newly inserted item
number endposition the length of the newly created mediaitem; -1, use the length of the sourcefile
integer editcursorpos the position of the editcursor after insertion of the mediafile 0 - the old editcursorposition 1 - the position, at which the item was inserted 2 - the end of the newly inserted item
optional number offset an offset, to delay the insertion of the item, to overcome possible "too late"-starting of playback of item during recording

Returnvalues:
integer retval 0, if insertion worked; -1, if it failed
MediaItem item the newly created MediaItem
number endposition the endposition of the newly created MediaItem in seconds
integer numchannels the number of channels of the mediafile
integer Samplerate the samplerate of the mediafile in hertz
string Filetype the type of the mediafile, like MP3, WAV, MIDI, FLAC, etc
number editcursorposition the (new) editcursorposition
MediaTrack track returns the MediaTrack, in which the item is included



^ Reaper version 5.40 Ultraschall version 4.00InsertMediaItemStateChunkArray

Functioncall:
Lua: integer number_of_items, array MediaItemArray = ultraschall.InsertMediaItemStateChunkArray(number position, array MediaItemStateChunkArray, string trackstring)

Description:

Inserts the MediaItems from MediaItemStateChunkArray at position into the tracks, as given by trackstring.
Note:Needs ULTRASCHALL_TRACKNUMBER within the statechunks, which includes the tracknumber for each mediaitem to be included. Else it will return -1. That entry will be included automatically into the MediaItemStateChunkArray as provided by GetAllMediaItemsBetween. If you need to manually insert that entry into a statechunk, use SetItemUSTRackNumber_StateChunk.

Returns the number of newly created items, as well as an array with the newly create MediaItems.
Returns -1 in case of failure.

Note: this inserts the items only in the tracks, where the original items came from(or the tracks set with the entry ULTRASCHALL_TRACKNUMBER). Items from track 1 will be included into track 1. Trackstring only helps to include or exclude the items from inclusion into certain tracks.
If you have a MediaItemStateChunkArray with items from track 1,2,3,4,5 and you give trackstring only the tracknumber for track 3 and 4 -> 3,4, then only the items, that were in tracks 3 and 4 originally, will be included, all the others will be ignored.

Parameters:
number position the position of the newly created mediaitem
array MediaItemStateChunkArray an array with the statechunks of the MediaItems to be inserted
string trackstring the numbers of the tracks, separated by a ,

Returnvalues:
integer number_of_items the number of MediaItems created
array MediaItemArray an array with the newly created MediaItems



^ Reaper version 5.40 Ultraschall version 4.00InsertMediaItem_MediaItem

Functioncall:
Lua: integer retval, MediaItem MediaItem, number startposition, number endposition, number length = ultraschall.InsertMediaItem_MediaItem(number position, MediaItem MediaItem, MediaTrack MediaTrack)

Description:

Inserts MediaItem in MediaTrack at position. Returns the newly created(or better: inserted) MediaItem as well as startposition, endposition and length of the inserted item.

Returns -1 in case of failure.

Parameters:
number position the position of the newly created mediaitem
MediaItem MediaItem the MediaItem that shall be inserted into a track
MediaTrack MediaTrack the track, where the item shall be inserted to

Returnvalues:
integer retval -1 in case of error, 1 in case of success
MediaItem MediaItem the newly created MediaItem
number startposition the startposition of the inserted MediaItem in seconds
number endposition the endposition of the inserted MediaItem in seconds
number length the length of the inserted MediaItem in seconds



^ Reaper version 5.40 Ultraschall version 4.00InsertMediaItem_MediaItemStateChunk

Functioncall:
Lua: integer retval, MediaItem MediaItem, number startposition, number endposition, number length = ultraschall.InsertMediaItem_MediaItemStateChunk(number position, string MediaItemStateChunk, MediaTrack MediaTrack)

Description:

Inserts a new MediaItem in MediaTrack at position. Uses a mediaitem-state-chunk as created by functions like GetAllMediaItemsBetween, reaper.GetItemStateChunk and reaper.SetItemStateChunk.. Returns the newly created MediaItem.

Returns -1 in case of failure.

Parameters:
number position the position of the newly created mediaitem
string MediaItemStatechunk the Statechunk for the MediaItem, that shall be inserted into a track
MediaTrack MediaTrack the track, where the item shall be inserted to; nil, use the statechunk-entry ULTRASCHALL_TRACKNUMBER for the track instead.

Returnvalues:
integer retval -1 in case of error, 1 in case of success
MediaItem MediaItem the newly created MediaItem
number startposition the startposition of the inserted MediaItem in seconds
number endposition the endposition of the inserted MediaItem in seconds
number length the length of the inserted MediaItem in seconds



^ Reaper version 5.40 Ultraschall version 4.00RippleInsert

Functioncall:
Lua: integer number_of_items, array MediaItemArray, number endpos_inserted_items = ultraschall.RippleInsert(number position, array MediaItemArray, string trackstring, boolean moveenvelopepoints, boolean movemarkers)

Description:

It inserts the MediaItems from MediaItemArray at position into the tracks, as given by trackstring. It moves the items, that were there before, accordingly toward the end of the project.

Returns the number of newly created items, as well as an array with the newly created MediaItems and the endposition of the last(projectposition) inserted item into the project.
Returns -1 in case of failure.

Note: this inserts the items only in the tracks, where the original items came from. Items from track 1 will be included into track 1. Trackstring only helps to include or exclude the items from inclusion into certain tracks.
If you have a MediaItemArray with items from track 1,2,3,4,5 and you give trackstring only the tracknumber for track 3 and 4 -> 3,4, then only the items, that were in tracks 3 and 4 originally, will be included, all the others will be ignored.

Parameters:
number position the position of the newly created mediaitem
array MediaItemArray an array with the MediaItems to be inserted
string trackstring the numbers of the tracks, separated by a ,
boolean moveenvelopepoints true, move the envelopepoints as well; false, keep the envelopepoints where they are
boolean movemarkers true, move markers as well; false, keep markers where they are

Returnvalues:
integer number_of_items the number of newly created items
array MediaItemArray an array with the newly created MediaItems
number endpos_inserted_items the endposition of the last newly inserted MediaItem



^ Reaper version 5.40 Ultraschall version 4.00RippleInsert_MediaItemStateChunks

Functioncall:
Lua: integer number_of_items, array MediaItemStateChunkArray, number endpos_inserted_items = ultraschall.RippleInsert_MediaItemStateChunks(number position, array MediaItemStateChunkArray, string trackstring, boolean moveenvelopepoints, boolean movemarkers)

Description:

It inserts the MediaItems from MediaItemStateChunkArray at position into the tracks, as given by trackstring. It moves the items, that were there before, accordingly toward the end of the project.

Returns the number of newly created items, as well as an array with the newly created MediaItems as statechunks and the endposition of the last(projectposition) inserted item into the project.
Returns -1 in case of failure.

Note: this inserts the items only in the tracks, where the original items came from. Items from track 1 will be included into track 1. Trackstring only helps to include or exclude the items from inclusion into certain tracks.
If you have a MediaItemStateChunkArray with items from track 1,2,3,4,5 and you give trackstring only the tracknumber for track 3 and 4 -> 3,4, then only the items, that were in tracks 3 and 4 originally, will be included, all the others will be ignored.

Parameters:
number position the position of the newly created mediaitem
array MediaItemStateChunkArray an array with the statechunks of MediaItems to be inserted
string trackstring the numbers of the tracks, separated by a ,
boolean moveenvelopepoints true, move the envelopepoints as well; false, keep the envelopepoints where they are
boolean movemarkers true, move markers as well; false, keep markers where they are

Returnvalues:
integer number_of_items the number of newly created items
array MediaItemStateChunkArray an array with the newly created MediaItems as StateChunkArray
number endpos_inserted_items the endposition of the last newly inserted MediaItem




^ Reaper version 5.40 Ultraschall version 4.00AddLockStateToMediaItemStateChunk

Functioncall:
Lua: string changedMediaItemStateChunk = ultraschall.AddLockStateToMediaItemStateChunk(string MediaItemStateChunk, boolean lockstate)

Description:

Sets the lockstate in a MediaItemStateChunk. Set lockstate=true to set the chunk locked; false to set it unlocked.

Does not apply the changes to the MediaItem itself. To do that, use reaper.GetItemStateChunk or ApplyStateChunkToItems!

returns the changed MediaItemStateChunk

returns -1 in case of failure

Parameters:
string MediaItemStateChunk the statechunk of the item to be processed, as returned by functions like reaper.GetItemStateChunk
boolean lockstate true, to set the MediaItemStateChunk to locked, false to set it to unlocked

Returnvalues:
string changedMediaItemStateChunk the lockstate-modified MediaItemStateChunk



^ Reaper version 5.40 Ultraschall version 4.00AddLockStateTo_MediaItemStateChunkArray

Functioncall:
Lua: integer count, array changedMediaItemStateChunkArray = ultraschall.AddLockStateTo_MediaItemStateChunkArray(array MediaItemStateChunkArray, boolean lockstate)

Description:

Sets the lockstates in a MediaItemStateChunkArray. Set lockstate=true to set the chunks locked; false to set them unlocked.

Does not apply the changes to the MediaItem itself. To do that, use reaper.GetItemStateChunk or ApplyStateChunkToItems!

returns the number of entries and the altered MediaItemStateChunkArray; -1 in case of failure

Parameters:
array MediaItemStateChunkArray the statechunkarray of the items to be processed, as returned by functions like reaper.GetItemStateChunk
boolean lockstate true, to set the MediaItemStateChunk to locked, false to set it to unlocked

Returnvalues:
integer count the number of entries in the changed MediaItemStateChunkArray
array changedMediaItemStateChunkArray the lockstate-modified MediaItemStateChunkArray



^ Reaper version 5.40 Ultraschall version 4.00ApplyStateChunkToItems

Functioncall:
Lua: boolean retval, integer skippeditemscount, array skipped_MediaItemStateChunkArray = ultraschall.ApplyStateChunkToItems(array MediaItemStateChunkArray, boolean undostate)

Description:

Applies changed StateChunks to the respective items. Skips deleted items, as they can't be set.

It will look into the IGUID-entry of the statechunks, to find the right corresponding MediaItem to apply the statechunk to.

returns the number of entries and the altered MediaItemStateChunkArray; -1 in case of failure

Parameters:
array MediaItemStateChunkArray the statechunkarray of the items to be applied, as returned by functions like reaper.GetItemStateChunk
boolean undostate true, sets the changed undo-possible, false undo-impossible

Returnvalues:
boolean retval true it worked, false it didn't
integer skippeditemscount the number of entries that couldn't be applied
array skipped_MediaItemStateChunkArray the StateChunks, that couldn't be aplied



^ Reaper version 5.40 Ultraschall version 4.00ChangeDeltaLengthOfMediaItems_FromArray

Functioncall:
Lua: boolean retval = ultraschall.ChangeDeltaLengthOfMediaItems_FromArray(array MediaItemArray, number deltalength)

Description:

Changes the length of the MediaItems in MediaItemArray by deltalength.
If you want to change the length of the items not >by< deltalength, but >to< deltalength, use ChangeLengthOfMediaItems_FromArray instead.

Returns false in case of failure, true in case of success.

Parameters:
array MediaItemArray an array with items to be changed. No nil entries allowed!
number deltalength the change of the length of the items in seconds, positive value - longer, negative value - shorter

Returnvalues:
boolean retval true in case of success; false in case of failure



^ Reaper version 5.40 Ultraschall version 4.00ChangeDeltaOffsetOfMediaItems_FromArray

Functioncall:
Lua: boolean retval = ultraschall.ChangeDeltaOffsetOfMediaItems_FromArray(array MediaItemArray, number deltaoffset)

Description:

Changes the audio-offset of the MediaItems in MediaItemArray by deltaoffset.
It affects all(!) takes of the MediaItems have.
If you want to change the offset of the items not >by< deltaoffset, but >to< deltaoffset, use ChangeOffsetOfMediaItems_FromArray instead.

Returns false in case of failure, true in case of success.

Parameters:
array MediaItemArray an array with items to be changed. No nil entries allowed!
number newoffset the new offset of the items in seconds

Returnvalues:
boolean retval true in case of success; false in case of failure



^ Reaper version 5.40 Ultraschall version 4.00ChangeLengthOfMediaItems_FromArray

Functioncall:
Lua: boolean retval = ultraschall.ChangeLengthOfMediaItems_FromArray(array MediaItemArray, number newlength)

Description:

Changes the length of the MediaItems in MediaItemArray to newlength.
They will all be set to the new length, regardless of their old length. If you want to change the length of the items not >to< newlength, but >by< newlength, use ChangeDeltaLengthOfMediaItems_FromArray instead.

Returns false in case of failure, true in case of success.

Parameters:
array MediaItemArray an array with items to be changed. No nil entries allowed!
number newlength the new length of the items in seconds

Returnvalues:
boolean retval true in case of success; false in case of failure



^ Reaper version 5.40 Ultraschall version 4.00ChangeOffsetOfMediaItems_FromArray

Functioncall:
Lua: boolean retval = ultraschall.ChangeOffsetOfMediaItems_FromArray(array MediaItemArray, number newoffset)

Description:

Changes the audio-offset of the MediaItems in MediaItemArray to newoffset.
It affects all(!) takes that the MediaItems has.
If you want to change the offset of the items not >to< newoffset, but >by< newoffset, use ChangeDeltaOffsetOfMediaItems_FromArray instead.

Returns false in case of failure, true in case of success.

Parameters:
array MediaItemArray an array with items to be changed. No nil entries allowed!
number newoffset the new offset of the items in seconds

Returnvalues:
boolean retval true, in case of success; false, in case of failure



^ Reaper version 5.40 Ultraschall version 4.00MoveMediaItemsAfter_By

Functioncall:
Lua: boolean retval = ultraschall.MoveMediaItemsAfter_By(number old_position, number change_position_by, string trackstring)

Description:

Moves all items after old_position by change_position_by-seconds. Affects only items, that begin after oldposition, so items that start before and end after old_position do not move.

Returns false in case of failure, true in case of success.

Parameters:
number oldposition the position, from where the movement shall be applied to, in seconds
number change_position_by the change of the position in seconds; positive - toward the end of the project, negative - toward the beginning.
string trackstring the tracknumbers, separated by a comma

Returnvalues:
boolean retval true in case of success; false in case of failure



^ Reaper version 5.40 Ultraschall version 4.00MoveMediaItemsBefore_By

Functioncall:
Lua: boolean retval = ultraschall.MoveMediaItemsBefore_By(number old_position, number change_position_by, string trackstring)

Description:

Moves all items before old_position by change_position_by-seconds. Affects only items, that end before oldposition, so items that start before and end after old_position do not move.

Returns false in case of failure, true in case of success.

Parameters:
number oldposition the position, from where the movement shall be applied to, in seconds
number change_position_by the change of the position in seconds; positive - toward the end of the project, negative - toward the beginning.
string trackstring the tracknumbers, separated by a comma

Returnvalues:
boolean retval true in case of success; false in case of failure



^ Reaper version 5.40 Ultraschall version 4.00MoveMediaItemsBetween_To

Functioncall:
Lua: boolean retval = ultraschall.MoveMediaItemsBetween_To(number startposition, number endposition, number newposition, string trackstring, boolean inside)

Description:

Moves the items between sectionstart and sectionend to newposition, within the tracks given by trackstring.
If inside is set to true, only items completely within the section are moved; if set to false, also items are affected, that are just partially within the section.

Items, that start after sectionstart, and therefore have an offset, will be moved to newposition+their offset. Keep that in mind.

Returns false in case of failure, true in case of success.

Parameters:
number startposition begin of the item-selection in seconds
number endposition end of the item-selection in seconds
number newposition new position in seconds
string trackstring the tracknumbers, separated by a ,
boolean inside true, only items completely within the section; false, also items partially within the section

Returnvalues:
boolean retval true in case of success; false in case of failure



^ Reaper version 5.40 Ultraschall version 4.00MoveMediaItems_FromArray

Functioncall:
Lua: integer retval, number earliest_itemtime, number latest_itemtime = ultraschall.MoveMediaItems_FromArray(array MediaItemArray, number newposition)

Description:

It changes the position of the MediaItems from MediaItemArray. It keeps the related position to each other, putting the earliest item at newposition, putting the others later, relative to their offset.

Returns -1 in case of failure.

Parameters:
array MediaItemArray an array with the MediaItems to be inserted
number newposition the new position in seconds

Returnvalues:
integer retval -1 in case of error, else returns 1
number earliest_itemtime the new earliest starttime of all MediaItems moved
number latest_itemtime the new latest endtime of all MediaItems moved



^ Reaper version 5.77 Ultraschall version 4.00NormalizeItems

Functioncall:
Lua: integer retval = ultraschall.NormalizeItems(array MediaItemArray)

Description:

Normalizes all items in MediaItemArray.

Returns -1 in case of an error

Parameters:
array MediaItemArray an array with all MediaItems, that shall be normalized

Returnvalues:
integer retval -1, in case of an error



^ Reaper version 5.40 Ultraschall version 4.00SetItemsLockState

Functioncall:
Lua: boolean retval = ultraschall.SetItemsLockState(array MediaItemArray, boolean lockstate)

Description:

Sets the lockstate of the items in MediaItemArray. Set lockstate=true to set the items locked; false to set them unlocked.

returns true in case of success, false in case of error

Parameters:
array MediaItemArray an array with the MediaItems to be processed
boolean lockstate true, to set the MediaItems to locked, false to set them to unlocked

Returnvalues:
boolean retval true in case of success, false in case of error




^ Reaper version 6.24 Ultraschall version 4.2CountMediaItemTake_StateChunk

Functioncall:
Lua: integer number_of_takes = ultraschall.CountMediaItemTake_StateChunk(string MediaItemStateChunk)

Description:

Counts the number of available takes in a MediaItemStateChunk.

returns -1 in case of an error

Parameters:
string MediaItemStateChunk the statechunk of the mediaitem, whose takes you want to count

Returnvalues:
integer number_of_takes the number of takes in this MediaItemStateChunk



^ Reaper version 5.77 Ultraschall version 4.00GetItemSourceFile_Take

Functioncall:
Lua: string source_filename, PCM_source source, MediaItem_Take take = ultraschall.GetItemSourceFile_Take(MediaItem MediaItem, integer take_nr)

Description:

returns filename, the PCM_Source-object and the MediaItem_Take-object of a specific take. Use take_nr=0 for active take.

returns nil in case of error

Parameters:
MediaItem MediaItem the MediaItem-object, in which the requested take lies
integer take_nr the number of the requested take; use 0 for the active take

Returnvalues:
string source_filename the filename of the requested take
PCM_source source the PCM_source-object of the requested take
MediaItem_Take take the Media-Item_Take-object of the requested take



^ Reaper version 5.92 Ultraschall version 4.00GetMediaItemTake

Functioncall:
Lua: MediaItem_Take Take, integer TakeCount = ultraschall.GetMediaItemTake(MediaItem MediaItem, integer TakeNr)

Description:

Returns the requested MediaItem-Take of MediaItem. Use TakeNr=0 for the active take(!)

Returns nil in case of an error

Parameters:
MediaItem MediaItem the MediaItem, of whom you want to request a certain take.
integer TakeNr the take that you want to request; 1 for the first; 2 for the second, etc; 0, for the current active take

Returnvalues:
MediaItem_Take Take the requested take of a MediaItem
integer TakeCount the number of takes available within this Mediaitem



^ Reaper version 6.24 Ultraschall version 4.2GetMediaItemTake_StateChunk

Functioncall:
Lua: string TakeStateChunk = ultraschall.GetMediaItemTake_StateChunk(string MediaItemStateChunk, integer takeid)

Description:

Returns the statechunk-entries of takes from a MediaItemStateChunk.

Note: takeid>0 will never return statechunk-entries as selected, even if they are.

returns nil in case of an error

Parameters:
string MediaItemStateChunk the statechunk of the mediaitem, whose take you want to get
integer takeid the number of the take, whose statechunk-entries you want; 0, get selected take

Returnvalues:
string TakeStateChunk the statechunk-entries of the requested take



^ Reaper version 5.975 Ultraschall version 4.1GetTake_ReverseState

Functioncall:
Lua: boolean retval = ultraschall.GetTake_ReverseState(MediaItem item, integer takenumber)

Description:

returns, if the chosen take of the MediaItem is reversed

returns false in case of an error


Parameters:
MediaItem item the MediaItem, of whose take you want to get the reverse-state
integer takenumber the take, whose reverse-state you want to know; 1, for the first take, etc

Returnvalues:
boolean retval true, take is reversed; false, take is not reversed




^ Reaper version 6.02 Ultraschall version 4.1MediaItems_Outtakes_AddSelectedItems

Functioncall:
Lua: integer number_of_items = ultraschall.MediaItems_Outtakes_AddSelectedItems(ReaProject TargetProject)

Description:

Adds selected MediaItems to the outtakes-vault of a given project.

returns -1 in case of an error

Parameters:
ReaProject TargetProject the project, into whose outtakes-vault the selected items shall be added to; 0 or nil, for the current project

Returnvalues:
integer number_of_items the number of items, added to the outtakes-vault



^ Reaper version 6.02 Ultraschall version 4.1MediaItems_Outtakes_GetAllItems

Functioncall:
Lua: integer number_of_items, array MediaItemStateChunkArray = ultraschall.MediaItems_Outtakes_GetAllItems(ReaProject TargetProject, optional boolean EachItemsAfterAnother)

Description:

Returns all MediaItems stored in the outtakes-vault of a given project.

returns -1 in case of an error

Parameters:
ReaProject TargetProject the project, into whose outtakes-vault the selected items shall be added to; 0 or nil, for the current project
optional boolean EachItemsAfterAnother position the MediaItems one after the next, so if you import them, they would be stored one after another true, position the startposition of the MediaItems one after another false, keep old startpositions

Returnvalues:
integer number_of_items the number of items, added to the outtakes-vault
array MediaItemStateChunkArray all the MediaItemStateChunks of the stored MediaItems in the outtakes vault



^ Reaper version 6.02 Ultraschall version 4.1MediaItems_Outtakes_InsertAllItems

Functioncall:
Lua: boolean retval, integer number_of_items, array MediaItemArray = ultraschall.MediaItems_Outtakes_InsertAllItems(ReaProject TargetProject, integer tracknumber, number Startposition)

Description:

Inserts all MediaItems from the outtakes-vault into a certain track, with one item after the other, back to back.

returns false in case of an error

Parameters:
ReaProject TargetProject the project, into whose outtakes-vault the selected items shall be added to; 0 or nil, for the current project
integer tracknumber the tracknumber, into which to insert all items from the outtakes-vault
number Startposition the position, at which to insert the first MediaItem; nil, startposition=0

Returnvalues:
boolean retval true, adding was successful; false, adding was unsuccessful
integer number_of_items the number of added items
array MediaItemArray all the inserted MediaItems




^ Reaper version 5.40 Ultraschall version 4.00DeselectMediaItems_MediaItemArray

Functioncall:
Lua: integer retval = ultraschall.DeselectMediaItems_MediaItemArray(array MediaItemArray)

Description:

Deselects all MediaItems, that are in MediaItemArray.

returns -1 in case of error

Parameters:
array MediaItemArray an array with all the MediaItemObjects, that shall be deselected

Returnvalues:
integer retval -1 in case of error, 1 in case of success



^ Reaper version 5.40 Ultraschall version 4.1GetAllSelectedMediaItems

Functioncall:
Lua: integer count, array MediaItemArray, array MediaItemStateChunkArray = ultraschall.GetAllSelectedMediaItems()

Description:

Returns all selected items in the project as MediaItemArray. Empty MediaItemAray if none is found.

Returnvalues:
integer count the number of entries in the returned MediaItemArray
array MediaItemArray all selected MediaItems returned as an array
array MediaItemStateChunkArray the statechunks of all found MediaItems as an array



^ Reaper version 6.02 Ultraschall version 4.00GetSelectedMediaItemsAtPosition

Functioncall:
Lua: integer count, array MediaItemArray, array MediaItemStateChunkArray = ultraschall.GetSelectedMediaItemsAtPosition(number position, string trackstring)

Description:

Returns all selected items at position in the tracks as given by trackstring, as MediaItemArray. Empty MediaItemAray if none is found.

returns -1 in case of error

Parameters:
number position position in seconds
string trackstring the tracknumbers, separated by commas

Returnvalues:
integer count the number of entries in the returned MediaItemArray
array MediaItemArray the found MediaItems returned as an array



^ Reaper version 5.40 Ultraschall version 4.00GetSelectedMediaItemsBetween

Functioncall:
Lua: integer count, array MediaItemArray = ultraschall.GetSelectedMediaItemsBetween(number startposition, number endposition, string trackstring, boolean inside)

Description:

Returns all selected items between startposition and endposition in the tracks as given by trackstring, as MediaItemArray. Empty MediaItemAray if none is found.

returns -1 in case of error

Parameters:
number startposition startposition in seconds
number endposition endposition in seconds
string trackstring the tracknumbers, separated by commas
boolean inside true, only items completely within start/endposition; false, also items, that are partially within start/endposition

Returnvalues:
integer count the number of entries in the returned MediaItemArray
array MediaItemArray the found MediaItems returned as an array



^ Reaper version 5.40 Ultraschall version 4.00SelectMediaItems_MediaItemArray

Functioncall:
Lua: integer retval = ultraschall.SelectMediaItems_MediaItemArray(array MediaItemArray)

Description:

Selects all MediaItems, that are in MediaItemArray.

It retains any current selection.

returns -1 in case of error

Parameters:
array MediaItemArray an array with all the MediaItemObjects, that shall be selected

Returnvalues:
integer retval -1 in case of error, 1 in case of success



^ Reaper version 5.40 Ultraschall version 4.00SetMediaItemsSelected_TimeSelection

Functioncall:
Lua: ultraschall.SetMediaItemsSelected_TimeSelection()

Description:

Sets all MediaItems selected, that are within the time-selection.




^ Reaper version 6.10 Ultraschall version 4.2SetItemImage

Functioncall:
Lua: string MediaItemStateChunk = ultraschall.SetItemImage(MediaItem MediaItem, optional string MediaItemStateChunk, string imagefilename)

Description:

Sets the filename of an imagefile of an MediaItem or MediaItemStateChunk, as set in the item-notes-dialog.

It is the entry RESOURCEFN

Note: This function will not check, if the filename exists.

Returns nil in case of error.

Parameters:
MediaItem MediaItem the MediaItem, whose itemimage you want to set; nil, use parameter MediaItemStatechunk instead
optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk; set to nil, if not needed
string filename the filename of the item-image; "", if not image is associated with this item

Returnvalues:
string MediaItemStateChunk the altered MediaItemStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetItemLength

Functioncall:
Lua: string MediaItemStateChunk = ultraschall.SetItemLength(MediaItem MediaItem, integer length, string MediaItemStateChunk)

Description:

Sets length in a MediaItem and MediaItemStateChunk in seconds.
It returns the modified MediaItemStateChunk.
Returns -1 in case of error.

Parameters:
MediaItem MediaItem the MediaItem, whose state you want to change; nil, use parameter MediaItemStateChunk instead
integer length length in seconds
optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk

Returnvalues:
string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetItemPosition

Functioncall:
Lua: string MediaItemStateChunk = ultraschall.SetItemPosition(MediaItem MediaItem, integer position, optional string MediaItemStateChunk)

Description:

Sets position in a MediaItem or MediaItemStateChunk in seconds.
It returns the modified MediaItemStateChunk.
Returns -1 in case of error.

Parameters:
MediaItem MediaItem the MediaItem, whose state you want to change; nil, use parameter MediaItemStateChunk instead
integer position position in seconds
optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk

Returnvalues:
string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetItemUSTrackNumber_StateChunk

Functioncall:
Lua: string MediaItemStateChunk = ultraschall.SetItemUSTrackNumber_StateChunk(string MediaItemStateChunk, integer tracknumber)

Description:

Adds/Replaces the entry "ULTRASCHALL_TRACKNUMBER" in a MediaItemStateChunk, that tells other Ultraschall-Apifunctions, from which track this item originated from.
It returns the modified MediaItemStateChunk.
Returns -1 in case of error.

Parameters:
string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk
integer tracknumber the tracknumber you want to set, with 1 for track 1, 2 for track 2

Returnvalues:
string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk



^ Reaper version 6.11 Ultraschall version 4.1SetItem_Video_IgnoreAudio

Functioncall:
Lua: string statechunk = ultraschall.GetItem_Video_IgnoreAudio(MediaItem Item, integer take_index, boolean checkbox_state, optional string StateChunk)

Description:

Sets the "Ignore audio"-checkbox of a video-item-source in a specific MediaItem-take.

Returns nil in case of an error(no video source in take)


Returnvalues:
string statechunk the altered statechunk



^ Reaper version 5.40 Ultraschall version 4.00SetMediaItemStateChunk_in_TrackStateChunk

Functioncall:
Lua: boolean retval, string trackstatechunk = ultraschall.SetMediaItemStateChunk_in_TrackStateChunk(string trackstatechunk, integer idx, string mediaitemstatechunk)

Description:

Overwrites the idx'th item from trackstatechunk with mediaitemstatechunk and returns this altered trackstatechunk.

returns false in case of error

Parameters:
string trackstatechunk a trackstatechunk, as returned by reaper's api function reaper.GetTrackStateChunk
integer idx the number of the item you want to delete
string mediaitemstatechunk a mediaitemstatechunk, as returned by reaper's api function reaper.GetItemStateChunk

Returnvalues:
boolean retval true in case of success, false in case of error
string trackstatechunk the new trackstatechunk with the idx'th item replaced




^ Reaper version 5.77 Ultraschall version 4.00AddItemSpectralEdit

Functioncall:
Lua: boolean retval, MediaItemStateChunk statechunk = ultraschall.AddItemSpectralEdit(integer itemidx, number start_pos, number length, number gain, number fade, number freq_fade, number freq_range_bottom, number freq_range_top, integer h, integer byp_solo, number gate_thres, number gate_floor, number comp_thresh, number comp_exp_ratio, number n, number o, number fade2, number freq_fade2, optional string MediaItemStateChunk)

Description:

Adds a new SPECTRAL_EDIT-entry in a given MediaItem/MediaItemStateChunk.
The SPECTRAL_EDITs are the individual edit-boundary-boxes in the spectral-view.
If itemidx is set to -1, you can give the function a MediaItemStateChunk to look in, instead.

returns false in case of error

Parameters:
integer itemidx the MediaItem to add to another spectral-edit-entry; -1, to use the parameter MediaItemStateChunk instead
number start_pos the startposition of the spectral-edit-region in seconds
number length the length of the spectral-edit-region in seconds
number gain the gain as slider-value; 0(-224dB) to 98350.1875(99.68dB); 1 for 0dB
number fade 0(0%)-0.5(100%); adjusting this affects also parameter fade2!
number freq_fade 0(0%)-0.5(100%); adjusting this affects also parameter freq_fade2!
number freq_range_bottom the bottom of the edit-region, but can be moved to be top as well! 0 to device-samplerate/2 (e.g 96000 for 192kHz)
number freq_range_top the top of the edit-region, but can be moved to be bottom as well! 0 to device-samplerate/2 (e.g 96000 for 192kHz)
integer h unknown
integer byp_solo sets the solo and bypass-state. 0, no solo, no bypass; 1, bypass only; 2, solo only; 3, bypass and solo
number gate_thres sets the threshold of the gate; 0(-224dB)-98786.226563(99.89dB)
number gate_floor sets the floor of the gate; 0(-224dB)-99802.171875(99.98dB)
number comp_thresh sets the threshold for the compressor; 0(-224dB)-98842.484375(99.90dB); 1(0dB)is default
number comp_exp_ratio sets the ratio of the compressor/expander; 0.1(1:10.0)-100(100:1.0); 1(1.0:1) is default
number n unknown
number o unknown
number fade2 negative with fade_in set; positive with fadeout-set
number freq_fade2 negative with low frequency-fade, positive with high-frequency-fade
string MediaItemStateChunk if itemidx is -1, this can be a MediaItemStateChunk to use, otherwise this will be ignored

Returnvalues:
boolean retval true, if adding was successful; false, if adding wasn't successful
optional MediaItemStateChunk statechunk the altered MediaItemStateChunk



^ Reaper version 5.77 Ultraschall version 4.00CountItemSpectralEdits

Functioncall:
Lua: integer count = ultraschall.CountItemSpectralEdits(integer itemidx, optional string MediaItemStateChunk)

Description:

counts the number of SPECTRAL_EDITs in a given MediaItem/MediaItemStateChunk.
The SPECTRAL_EDITs are the individual edit-boundary-boxes in the spectral-view.
If itemidx is set to -1, you can give the function a MediaItemStateChunk to look in, instead.

returns -1 in case of error

Parameters:
integer itemidx the MediaItem to look in for the spectral-edit; -1, to use the parameter MediaItemStateChunk instead
optional string MediaItemStateChunk if itemidx is -1, this can be a MediaItemStateChunk to use, otherwise this will be ignored

Returnvalues:
integer count the number of spectral-edits available in a given MediaItem/MediaItemStateChunk



^ Reaper version 5.77 Ultraschall version 4.00DeleteItemSpectralEdit

Functioncall:
Lua: boolean retval, string MediaItemStateChunk = ultraschall.DeleteItemSpectralEdit(integer itemidx, integer spectralidx, optional string MediaItemStateChunk)

Description:

deletes a specific SPECTRAL_EDIT in a given MediaItem/MediaItemStateChunk.
The SPECTRAL_EDITs are the individual edit-boundary-boxes in the spectral-view.
If itemidx is set to -1, you can give the function a MediaItemStateChunk to look in, instead.

returns false in case of error

Parameters:
integer itemidx the MediaItem to look in for the spectral-edit; -1, to use the parameter MediaItemStateChunk instead
integer spectralidx the number of the spectral-edit to delete; 1 for the first, 2 for the second, etc
optional string MediaItemStateChunk if itemidx is -1, this can be a MediaItemStateChunk to use, otherwise this will be ignored

Returnvalues:
boolean retval true, if deleting an spectral-edit-entry was successful; false, if it was unsuccessful
string MediaItemStateChunk the altered MediaItemStateChunk



^ Reaper version 5.40 Ultraschall version 4.00GetItemSpectralConfig

Functioncall:
Lua: integer item_spectral_config = ultraschall.GetItemSpectralConfig(integer itemidx, optional string MediaItemStateChunk)

Description:

returns the item-spectral-config, which is the fft-size of the spectral view for this item.
set itemidx to -1 to use the optional parameter MediaItemStateChunk to alter a MediaItemStateChunk instead of an item directly.

returns -1 in case of error or nil if no spectral-config exists(e.g. when no spectral-edit is applied to this item)

Parameters:
integer itemidx the number of the item, with 1 for the first item, 2 for the second, etc.; -1, to use the parameter MediaItemStateChunk
optional string MediaItemStateChunk you can give a MediaItemStateChunk to process, if itemidx is set to -1

Returnvalues:
integer item_spectral_config the fft-size in points for the spectral-view; 16, 32, 64, 128, 256, 512, 1024(default), 2048, 4096, 8192; -1, if not existing



^ Reaper version 6.22 Ultraschall version 4.2GetItemSpectralConfig2

Functioncall:
Lua: integer item_spectral_config = ultraschall.GetItemSpectralConfig(MediaItem Item, integer take_id, optional string MediaItemStateChunk)

Description:

returns the item-spectral-config, which is the fft-size of the spectral view for this item.

It's the entry SPECTRAL_CONFIG

set itemidx to -1 to use the optional parameter MediaItemStateChunk to alter a MediaItemStateChunk instead of an item directly.

use take_id==0 for the active take

returns -2 in case of an error

Parameters:
MediaItem Item the item, whose spectral-config-attribute you want to get; nil, to use the parameter MediaItemStateChunk
integer take_id the id of the take; 1-based; 0, for active take
optional string MediaItemStateChunk you can give a MediaItemStateChunk to process, if itemidx is set to -1

Returnvalues:
integer item_spectral_config the fft-size in points for the spectral-view; 16, 32, 64, 128, 256, 512, 1024(default), 2048, 4096, 8192; -1, if not existing



^ Reaper version 6.22 Ultraschall version 4.2GetItemSpectralConfig2

Functioncall:
Lua: integer item_spectral_config = ultraschall.GetItemSpectralConfig(MediaItem Item, integer take_id, optional string MediaItemStateChunk)

Description:

returns the item-spectral-config, which is the fft-size of the spectral view for this item.

It's the entry SPECTRAL_CONFIG

set itemidx to -1 to use the optional parameter MediaItemStateChunk to alter a MediaItemStateChunk instead of an item directly.

use take_id==0 for the active take

returns -2 in case of an error

Parameters:
MediaItem Item the item, whose spectral-config-attribute you want to get; nil, to use the parameter MediaItemStateChunk
integer take_id the id of the take; 1-based; 0, for active take
optional string MediaItemStateChunk you can give a MediaItemStateChunk to process, if itemidx is set to -1

Returnvalues:
integer item_spectral_config the fft-size in points for the spectral-view; 16, 32, 64, 128, 256, 512, 1024(default), 2048, 4096, 8192; -1, if not existing



^ Reaper version 5.77 Ultraschall version 4.00GetItemSpectralEdit

Functioncall:
Lua: number start_pos, number length, number gain, number fade, number freq_fade, number freq_range_bottom, number freq_range_top, integer h, integer byp_solo, number gate_thres, number gate_floor, number comp_thresh, number comp_exp_ratio, number n, number o, number fade2, number freq_fade2 = ultraschall.GetItemSpectralEdit(integer itemidx, integer spectralidx, optional string MediaItemStateChunk)

Description:

returns the settings of a specific SPECTRAL_EDIT in a given MediaItem/MediaItemStateChunk.
The SPECTRAL_EDITs are the individual edit-boundary-boxes in the spectral-view.
If itemidx is set to -1, you can give the function a MediaItemStateChunk to look in, instead.

returns -1 in case of error

Parameters:
integer itemidx the MediaItem to look in for the spectral-edit; -1, to use the parameter MediaItemStateChunk instead
integer spectralidx the number of the spectral-edit to return; 1 for the first, 2 for the second, etc
optional string MediaItemStateChunk if itemidx is -1, this can be a MediaItemStateChunk to use, otherwise this will be ignored

Returnvalues:
number start_pos the startposition of the spectral-edit-region in seconds
number length the length of the spectral-edit-region in seconds
number gain the gain as slider-value; 0(-224dB) to 98350.1875(99.68dB); 1 for 0dB
number fade 0(0%)-0.5(100%); adjusting this affects also parameter fade2!
number freq_fade 0(0%)-0.5(100%); adjusting this affects also parameter freq_fade2!
number freq_range_bottom the bottom of the edit-region, but can be moved to be top as well! 0 to device-samplerate/2 (e.g 96000 for 192kHz)
number freq_range_top the top of the edit-region, but can be moved to be bottom as well! 0 to device-samplerate/2 (e.g 96000 for 192kHz)
integer h unknown
integer byp_solo sets the solo and bypass-state. 0, no solo, no bypass; 1, bypass only; 2, solo only; 3, bypass and solo
number gate_thres sets the threshold of the gate; 0(-224dB)-98786.226563(99.89dB)
number gate_floor sets the floor of the gate; 0(-224dB)-99802.171875(99.98dB)
number comp_thresh sets the threshold for the compressor; 0(-224dB)-98842.484375(99.90dB); 1(0dB)is default
number comp_exp_ratio sets the ratio of the compressor/expander; 0.1(1:10.0)-100(100:1.0); 1(1.0:1) is default
number n unknown
number o unknown
number fade2 negative with fade_in set; positive with fadeout-set
number freq_fade2 negative with low frequency-fade, positive with high-frequency-fade



^ Reaper version 6.22 Ultraschall version 4.2GetItemSpectralEdit2

Functioncall:
Lua: boolean retval, number start_pos, number length, number gain, number fade, number freq_fade, number freq_range_bottom, number freq_range_top, integer h, integer byp_solo, number gate_thres, number gate_floor, number comp_thresh, number comp_exp_ratio, number n, number o, number fade2, number freq_fade2 = ultraschall.GetItemSpectralEdit2(MediaItem Item, integer take_id, integer spectralidx, optional string MediaItemStateChunk)

Description:

returns the settings of a specific SPECTRAL_EDIT in a given MediaItem/MediaItemStateChunk.
The SPECTRAL_EDITs are the individual edit-boundary-boxes in the spectral-view.
If itemidx is set to nil, you can give the function a MediaItemStateChunk to look in, instead.

returns -1 in case of error

Parameters:
MediaItem Item the MediaItem to look in for the spectral-edit; nil, to use the parameter MediaItemStateChunk instead
integer take_id the index of the take, whose spectral-edit-information you want to retrieve; 1-based; 0, active take
integer spectralidx the number of the spectral-edit to return; 1 for the first, 2 for the second, etc
optional string MediaItemStateChunk if itemidx is -1, this can be a MediaItemStateChunk to use, otherwise this will be ignored

Returnvalues:
boolean retval true, getting states was successful; false, getting states was unsuccessful
number start_pos the startposition of the spectral-edit-region in seconds
number length the length of the spectral-edit-region in seconds
number gain the gain as slider-value; 0(-224dB) to 98350.1875(99.68dB); 1 for 0dB
number fade 0(0%)-0.5(100%); adjusting this affects also parameter fade2!
number freq_fade 0(0%)-0.5(100%); adjusting this affects also parameter freq_fade2!
number freq_range_bottom the bottom of the edit-region, but can be moved to be top as well! 0 to device-samplerate/2 (e.g 96000 for 192kHz)
number freq_range_top the top of the edit-region, but can be moved to be bottom as well! 0 to device-samplerate/2 (e.g 96000 for 192kHz)
integer h unknown
integer byp_solo sets the solo and bypass-state. 0, no solo, no bypass; 1, bypass only; 2, solo only; 3, bypass and solo
number gate_thres sets the threshold of the gate; 0(-224dB)-98786.226563(99.89dB)
number gate_floor sets the floor of the gate; 0(-224dB)-99802.171875(99.98dB)
number comp_thresh sets the threshold for the compressor; 0(-224dB)-98842.484375(99.90dB); 1(0dB)is default
number comp_exp_ratio sets the ratio of the compressor/expander; 0.1(1:10.0)-100(100:1.0); 1(1.0:1) is default
number n unknown
number o unknown
number fade2 negative with fade_in set; positive with fadeout-set
number freq_fade2 negative with low frequency-fade, positive with high-frequency-fade



^ Reaper version 5.40 Ultraschall version 4.00GetItemSpectralVisibilityState

Functioncall:
Lua: integer spectrogram_state = ultraschall.GetItemSpectralVisibilityState(integer itemidx, optional string MediaItemStateChunk)

Description:

returns, if spectral-editing is shown in the arrange-view of item itemidx
set itemidx to -1 to use the optional parameter MediaItemStateChunk to alter a MediaItemStateChunk instead of an item directly.

returns -1 in case of error

Parameters:
integer itemidx the number of the item, with 1 for the first item, 2 for the second, etc.; -1, to use the parameter MediaItemStateChunk
optional string MediaItemStateChunk you can give a MediaItemStateChunk to process, if itemidx is set to -1

Returnvalues:
integer item_spectral_config 0, if spectral-config isn't shown in arrange-view; 1, if spectral-config is shown in arrange-view



^ Reaper version 5.40 Ultraschall version 4.00SetItemSpectralConfig

Functioncall:
Lua: boolean retval, string MediaItemStateChunk = ultraschall.SetItemSpectralConfig(integer itemidx, integer item_spectral_config, optional string MediaItemStateChunk)

Description:

sets the item-spectral-config, which is the fft-size of the spectral view for this item.

returns false in case of error or if no spectral-config exists(e.g. when no spectral-edit is applied to this item)

Parameters:
integer itemidx the number of the item, with 1 for the first item, 2 for the second, etc.; -1, if you want to use the optional parameter MediaItemStateChunk
integer item_spectral_config the fft-size in points for the spectral-view; 16, 32, 64, 128, 256, 512, 1024(default), 2048, 4096, 8192; nil, to remove it nil will only remove it, when SPECTRAL_EDIT is removed from item first; returned statechunk will have it removed still
optional string MediaItemStateChunk a MediaItemStateChunk you want to have altered; works only, if itemdidx is set to -1, otherwise it will be ignored

Returnvalues:
boolean retval true, if setting spectral-config worked; false, if not
string MediaItemStateChunk the altered MediaItemStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetItemSpectralEdit

Functioncall:
Lua: string MediaItemStateChunk = ultraschall.SetItemSpectralEdit(integer itemidx, integer spectralidx, number start_pos, number length, number gain, number fade, number freq_fade, number freq_range_bottom, number freq_range_top, integer h, integer byp_solo, number gate_thres, number gate_floor, number comp_thresh, number comp_exp_ratio, number n, number o, number fade2, number freq_fade2, optional string MediaItemStateChunk)

Description:

Sets a spectral-edit-instance in a MediaItem or MediaItemStateChunk.

After committing the changed MediaItemStateChunk to a MediaItem, Reaper may change the order of the spectral-edits! Keep that in mind, when changing numerous Spectral-Edits or use MediaItemStateChunks for the setting before committing them to a MediaItem using Reaper's function reaper.SetItemStateChunk().

It returns the modified MediaItemStateChunk.
Returns -1 in case of error.

Parameters:
integer itemidx the number of the item in the project; use -1 to use MediaItemStateChunk instead
integer spectralidx the number of the spectral-edit-instance, that you want to set
number start_pos the startposition of the spectral-edit-region in seconds
number length the length of the spectral-edit-region in seconds
number gain the gain as slider-value; 0(-224dB) to 98350.1875(99.68dB); 1 for 0dB
number fade 0(0%)-0.5(100%); adjusting this affects also parameter fade2!
number freq_fade 0(0%)-0.5(100%); adjusting this affects also parameter freq_fade2!
number freq_range_bottom the bottom of the edit-region, but can be moved to be top as well! 0 to device-samplerate/2 (e.g 96000 for 192kHz)
number freq_range_top the top of the edit-region, but can be moved to be bottom as well! 0 to device-samplerate/2 (e.g 96000 for 192kHz)
integer h unknown
integer byp_solo sets the solo and bypass-state. 0, no solo, no bypass; 1, bypass only; 2, solo only; 3, bypass and solo
number gate_thres sets the threshold of the gate; 0(-224dB)-98786.226563(99.89dB)
number gate_floor sets the floor of the gate; 0(-224dB)-99802.171875(99.98dB)
number comp_thresh sets the threshold for the compressor; 0(-224dB)-98842.484375(99.90dB); 1(0dB)is default
number comp_exp_ratio sets the ratio of the compressor/expander; 0.1(1:10.0)-100(100:1.0); 1(1.0:1) is default
number n unknown
number o unknown
number fade2 negative with fade_in set; positive with fadeout-set
number freq_fade2 negative with low frequency-fade, positive with high-frequency-fade
optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk

Returnvalues:
string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetItemSpectralVisibilityState

Functioncall:
Lua: string MediaItemStateChunk = ultraschall.SetItemSpectralVisibilityState(integer itemidx, integer state, optional string MediaItemStateChunk)

Description:

Sets SPECTROGRAM-state in a MediaItem or MediaItemStateChunk.
Setting it shows the spectrogram, in which you can do spectral-editing, as selected in the MediaItem-menu "Spectral-editing -> Toggle show spectrogram for selected items"

It returns the modified MediaItemStateChunk.
Returns -1 in case of error.

Parameters:
integer itemidx the number of the item in the project; use -1 to use MediaItemStateChunk instead
integer state the state of the SPECTROGRAM; 0, to hide SpectralEdit; 1, to set SpectralEdit visible
optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk; only read, when itemidx=-1

Returnvalues:
string MediaItemStateChunk the altered rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk




^ Reaper version 5.40 Ultraschall version 4.00GetGuidExtState

Functioncall:
Lua: integer retval, string value = ultraschall.GetGuidExtState(string guid, string key, integer savelocation)

Description:

Gets an extension-state using a given guid. Good for storing additional metadata of objects like MediaTracks, MediaItems, MediaItem_Takes, etc(everything, that has a guid).
The guid can have additional text, but must contain a valid guid somewhere in it!
A valid guid is a string that follows the following pattern:
{........-....-....-....-............}
where . is a hexadecimal value(0-F)

Returns -1 in case of error

Parameters:
string guid the guid of the object, for whom you want to get the key/value-pair; can have additional characters before and after the guid, but must contain a valid guid!
string key the key for this guid
integer savelocation 0, get as project extension state(from the currently opened project); 1, get as global extension state(when persist=true, from reaper-extstate.ini in the resourcesfolder)

Returnvalues:
integer retval the idx of the extstate(if a project extension state); 1, successful(with extension states), -1, unsuccessful
string value the returned value from the extstate



^ Reaper version 5.40 Ultraschall version 4.00SetGuidExtState

Functioncall:
Lua: integer retval = ultraschall.SetGuidExtState(string guid, string key, string value, integer savelocation, boolean overwrite, boolean persists)

Description:

Sets an extension-state using a given guid. Good for storing additional metadata of objects like MediaTracks, MediaItems, MediaItem_Takes, etc(everything, that has a guid).
The state can be saved as either global extension state or "local" extension-project-state(in the currently opened project)
The guid can have additional text, but must contain a valid guid somewhere in it!
A valid guid is a string that follows the following pattern:
{........-....-....-....-............}
where . is a hexadecimal value(0-F)

Returns -1 in case of error

Parameters:
string guid the guid of the object, for whom you want to store a key/value-pair; can have additional characters before and after the guid, but must contain a valid guid!
string key the key for this guid
string value the value to store into the key/value-store
integer savelocation 0, store as project extension state(into the currently opened project); 1, store as global extension state(when persist=true, into reaper-extstate.ini in the resourcesfolder)
boolean overwrite true, overwrite a previous given value; false, don't overwrite, if a value exists already
boolean persists true, make extension state persistent(available after Reaper-restart); false, don't make it persistent; Only with global extension states

Returnvalues:
integer retval the idx of the extstate(if a project extension state); 1, successful(with extension states), -1, unsuccessful




^ Reaper version 5.40 Ultraschall version 4.00DeleteProjExtState_Key

Functioncall:
Lua: integer retval = ultraschall.DeleteProjExtState_Key(string section, section key)

Description:

Deletes the value from a specific section -> key.

Returns -1 in case of an error.

Parameters:
string section the section/extname, from whom a key/value shall be deleted
string key the key, whose value shall be deleted

Returnvalues:
integer retval 0, in case of success; -1, in case of an error



^ Reaper version 5.40 Ultraschall version 4.00DeleteProjExtState_Section

Functioncall:
Lua: integer retval = ultraschall.DeleteProjExtState_Section(string section)

Description:

Deletes all key/values from a specific section.

Returns -1 in case of an error.

Parameters:
string section the section/extname, whose key/values shall be deleted

Returnvalues:
integer retval 0, in case of success; -1, in case of an error



^ Reaper version 5.40 Ultraschall version 4.00GetProjExtState_AllKeyValues

Functioncall:
Lua: integer retval = ultraschall.GetProjExtState_AllKeyValues(string section)

Description:

Returns the count of all key/values in a specific section, as well as an array with all keynames and their accompanying stored values.
The array has the format:
   AllValues[idx][1]=Key
   AllValues[idx][2]=Value

Returns -1 in case of an error or if no key exists in the given section

Parameters:
string section the section/extname, from whom a key/value shall be deleted

Returnvalues:
integer retval 0, in case of success; -1, in case of an error



^ Reaper version 6.02 Ultraschall version 4.00ProjExtState_CountAllKeys

Functioncall:
Lua: integer count = ultraschall.ProjExtState_CountAllKeys(string section)

Description:

Counts all keys stored within a certain ProjExtState-section.

Be aware: if you want to enumerate them using reaper.EnumProjExtState, the first key is indexed 0, the second 1, etc!

returns -1 in case of an error

Parameters:
string section the section, of which you want to count all keys

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful




^ Reaper version 6.02 Ultraschall version 4.00GetMarkerExtState

Functioncall:
Lua: string value = ultraschall.GetMarkerExtState(integer index, string key)

Description:

Retrieves an Extstate for a specific marker/region.

The index is for all markers and regions, inclusive and 1-based

returns nil in case of an error

Parameters:
integer index the marker/region-index, for which an extstate has been stored; starting with 1 for first marker/region, 2 for second marker/region
string key the key, in which the marker-extstate is stored

Returnvalues:
string value the value, that has been stored into the marker-extstate; nil, in case of an error



^ Reaper version 6.02 Ultraschall version 4.00SetMarkerExtState

Functioncall:
Lua: integer retval = ultraschall.SetMarkerExtState(integer index, string key, string value)

Description:

Stores an Extstate for a specific marker/region.

The index is for all markers and regions, inclusive and 1-based

returns -1 in case of an error

Parameters:
integer index the marker/region-index, for which to store an extstate; starting with 1 for first marker/region, 2 for second marker/region
string key the key, into which the marker-extstate shall be stored
string value the value, which you want to store into the marker-extstate

Returnvalues:
integer retval -1, in case of an error; 1, in case of success




^ Reaper version 6.20 Ultraschall version 4.2Metadata_GetAllPresetNames

Functioncall:
Lua: integer count_of_presets, table presetnames = ultraschall.Metadata_GetAllPresetNames(string PresetName)

Description:

returns a table with all names of the metadata-presets

returns nil in case of an error of if reaper-metadata.ini isn't found in resource-folder

Returnvalues:
integer count_of_presets the number of found metadata-presetnames
table presetnames all metadata-presetnames found



^ Reaper version 6.20 Ultraschall version 4.2Metadata_GetMetaDataTable_Presets

Functioncall:
Lua: table MetaDataTable = ultraschall.Metadata_GetMetaDataTable_Presets(string PresetName)

Description:

returns a table with all metadata from a metadata-preset.

Metadata that is not set in the preset, will be set to "" in the table

returns nil in case of an error of if reaper-metadata.ini isn't found in resource-folder

Parameters:
string PresetName the name of the preset, whose metadata you want

Returnvalues:
table MetaDataTable a table with all metadata-entries from a preset. Unset entries in the preset will be set to ""




^ Reaper version 6.16 Ultraschall version 4.2Metadata_AIFF_GetSet

Functioncall:
Lua: boolean retval = ultraschall.Metadata_AIFF_GetSet(string Tag, optional string Value)

Description:

Gets/Sets a stored AIFF-metadata-tag into the current project.

To get a value, set parameter Value to nil; to set a value, set the parameter Value to the desired value

Supported tags are: NAME - Title ANNO - Description AUTH - Artist COPY - Copyright message

Returns nil in case of an error


Parameters:
string Tag the tag, whose value you want to get/set; see description for a list of supported AIFF-Tags
optional string Value nil, only get the current value; any other value, set the value

Returnvalues:
string value the value of the specific tag



^ Reaper version 6.16 Ultraschall version 4.2Metadata_APE_GetSet

Functioncall:
Lua: boolean retval = ultraschall.Metadata_APE_GetSet(string Tag, optional string Value)

Description:

Gets/Sets a stored APE-metadata-tag into the current project.

To get a value, set parameter Value to nil; to set a value, set the parameter Value to the desired value

Supported tags are: Title - title Subtitle - description Artist - artist Genre - genre Key - key BPM - tempo Year - the date; following format: yyyy-mm-dd Record Date - the recording date; following format: yyyy-mm-dd Comment - comment User Defined - user defined metadata REAPER - Media Explorer Metadata Composer - the composer Conductor - the conductor Publisher - the publisher Album - the album Track - the tracknumber Catalog - the catalog ISRC - the isrc Copyright - the copyright holder Language - the language, a three character code like "eng" Record Location - the recording location

Returns nil in case of an error


Parameters:
string Tag the tag, whose value you want to get/set; see description for a list of supported APE-Tags
optional string Value nil, only get the current value; any other value, set the value

Returnvalues:
string value the value of the specific tag



^ Reaper version 6.16 Ultraschall version 4.2Metadata_BWF_GetSet

Functioncall:
Lua: boolean retval = ultraschall.Metadata_BWF_GetSet(string Tag, optional string Value)

Description:

Gets/Sets a stored BWF-metadata-tag into the current project.

To get a value, set parameter Value to nil; to set a value, set the parameter Value to the desired value

Supported tags are: Description OriginationDate OriginationTime Originator OriginatorReference ISRC - International Standard Recording Code

Note: TimeReference is set by Reaper itself

Returns nil in case of an error


Parameters:
string Tag the tag, whose value you want to get/set; see description for a list of supported BWF-Tags
optional string Value nil, only get the current value; any other value, set the value

Returnvalues:
string value the value of the specific tag



^ Reaper version 6.11 Ultraschall version 4.1Metadata_CART_GetSet

Functioncall:
Lua: boolean retval = ultraschall.Metadata_CART_GetSet(string Tag, optional string Value)

Description:

Gets/Sets a stored CART-metadata-tag into the current project.

To get a value, set parameter Value to nil; to set a value, set the parameter Value to the desired value

Supported tags are: Title - Title Artist - the Artist Category - the genre StartDate - the start-date, must be of the following format, yyyy-mm-dd, like 2020-06-27 EndDate - the end-date, must be of the following format, yyyy-mm-dd, like 2020-06-27 TagText - Text URL - URL ClientID - Client CutID - Cut

Note: INT1 is set by the INT1 marker; SEG1 is set by the SEG1-marker

Returns nil in case of an error


Parameters:
string Tag the tag, whose value you want to get/set; see description for a list of supported CART-Tags
optional string Value nil, only get the current value; any other value, set the value

Returnvalues:
string value the value of the specific tag



^ Reaper version 6.11 Ultraschall version 4.1Metadata_CUE_GetSet

Functioncall:
Lua: boolean retval = ultraschall.Metadata_CUE_GetSet(string Tag, optional string Value)

Description:

Gets/Sets a stored CUE-metadata-tag into the current project.

To get a value, set parameter Value to nil; to set a value, set the parameter Value to the desired value

Supported tags are: DISCTITLE - the title DISCPERFORMER - the performer DISCREM - Comment DISCSONGWRITER - the songwriter
DISC_CATALOG - UPC/EAN Code of the disc

Note: TRACKTITLE is added via render-settings, TRACKPERFORMER is added via a marker with a title of PERF=performername TRACKSONGWRITER is added via a marker with a title of WRIT=writername TRACKISRC is added via a marker with a title of ISRC=code

Returns nil in case of an error


Parameters:
string Tag the tag, whose value you want to get/set; see description for a list of supported CUE-Tags
optional string Value nil, only get the current value; any other value, set the value

Returnvalues:
string value the value of the specific tag



^ Reaper version 6.16 Ultraschall version 4.2Metadata_ID3_GetSet

Functioncall:
Lua: boolean retval = ultraschall.Metadata_ID3_GetSet(string Tag, optional string Value)

Description:

Gets/Sets a stored ID3-metadata-tag into the current project(for Wav or MP3).

To get a value, set parameter Value to nil; to set a value, set the parameter Value to the desired value Note: APIC_TYPE allows only specific values, as listed below!

Supported tags are: TIT2 - Title TIT3 - Subtitle/Description TPE2 - Album Artist TPE1 - Artist TCON - Genre TKEY - Key
TBPM - Tempo TYER - Year, must be of the format yyyy, like 2020 TIME - Recording Time, like 22:15 or 08:21 COMM - Comment TXXX - User defined(description=value) TXXX:REAPER - Media Explorer Tags TCOM - Composer TIPL - Involved People TEXT - Lyricist/Text Writer TMCL - Musician Credits TALB - Album TRCK - Track TIT1 - Content Group TRCK - Track number TSRC - International Standard Recording Code TCOP - Copyright Message COMM_LANG - Comment language, 3-character code like "eng" APIC_TYPE - the type of the cover-image, which can be of the following:

"", unset
0, Other
1, 32x32 pixel file icon (PNG only)
2, Other file icon
3, Cover (front)
4, Cover (back)
5, Leaflet page
6, Media
7, Lead artist/Lead Performer/Solo
8, Artist/Performer
9, Conductor
10, Band/Orchestra
11, Composer
12, Lyricist/Text writer
13, Recording location
14, During recording
15, During performance
16, Movie/video screen capture
17, A bright colored fish
18, Illustration
19, Band/Artist logotype
20, Publisher/Studiotype

APIC_DESC - the description of the cover-image APIC_FILE - the filename+absolute path of the cover-image; must be either png or jpg

Note: Chapters are added via marker with the name: "CHAP=chaptername"

Returns nil in case of an error


Parameters:
string Tag the tag, whose value you want to get/set; see description for a list of supported ID3-Tags
optional string Value nil, only get the current value; any other value, set the value

Returnvalues:
string value the value of the specific tag



^ Reaper version 6.16 Ultraschall version 4.2Metadata_INFO_GetSet

Functioncall:
Lua: boolean retval = ultraschall.Metadata_INFO_GetSet(string Tag, optional string Value)

Description:

Gets/Sets a stored INFO-metadata-tag into the current project.

To get a value, set parameter Value to nil; to set a value, set the parameter Value to the desired value

Supported tags are: INAM - Title ISBJ - Description IKEY - Keywords IART - Artist IGNR - Genre ICRD - Creation Date, must be of the format yyyy-mm-dd like 2020-06-27 ICMT - Comment IENG - Engineer IPRD - Product(Album) ISRC - Source ICOP - Copyright message

Returns nil in case of an error


Parameters:
string Tag the tag, whose value you want to get/set; see description for a list of supported INFO-Tags
optional string Value nil, only get the current value; any other value, set the value

Returnvalues:
string value the value of the specific tag



^ Reaper version 6.16 Ultraschall version 4.2Metadata_IXML_GetSet

Functioncall:
Lua: boolean retval = ultraschall.Metadata_IXML_GetSet(string Tag, optional string Value)

Description:

Gets/Sets a stored IXML-metadata-tag into the current project.

To get a value, set parameter Value to nil; to set a value, set the parameter Value to the desired value

Supported tags are: PROJECT - title NOTE - comment USER - user-defined "Name=Value" USER:REAPER - Media Explorer Tags SCENE - Scene CIRCLED - Circled Take; either TRUE or FALSE TAPE - Sound Roll TAKE - Take ID FILE_UID - unique identifier for the file

Returns nil in case of an error


Parameters:
string Tag the tag, whose value you want to get/set; see description for a list of supported IXML-Tags
optional string Value nil, only get the current value; any other value, set the value

Returnvalues:
string value the value of the specific tag



^ Reaper version 6.16 Ultraschall version 4.2Metadata_VORBIS_GetSet

Functioncall:
Lua: boolean retval = ultraschall.Metadata_VORBIS_GetSet(string Tag, optional string Value)

Description:

Gets/Sets a stored VORBIS-metadata-tag into the current project. This is for OPUS and OGG-VORBIS-files.

To get a value, set parameter Value to nil; to set a value, set the parameter Value to the desired value

Supported tags are: TITLE - title DESCRIPTION - description ALBUMARTIST - album artist ARTIST - artist PERFORMER - performer GENRE - genre KEY - key BPM - tempo DATE - date COMMENT - comment USER - user defined (Name=Value) REAPER - Media Explorer Tags ARRANGER - arranger AUTHOR - author COMPOSER - composer CONDUCTOR - conductor ENSEMBLE - ensemble LYRICIST - lyricist PRODUCER - producer PUBLISHER - publisher ALBUM - album LABEL - label DISCNUMBER - disc number OPUS - number of work PART - part PARTNUMBER - partnumber TRACKNUMBER - tracknumber VERSION - version EAN/UPN - barcode LABELNO - catalog number ISRC - isrc COPYRIGHT - copyright holder LICENSE - license ENCODED-BY - encoded by ENCODING - encoding settings LANGUAGE - language, 3-character-code like "eng" LOCATION - location SOURCEMEDIA - original recording media

Note: Chapters are added via marker with the name: "CHAP=chaptername"

Returns nil in case of an error


Parameters:
string Tag the tag, whose value you want to get/set; see description for a list of supported VORBIS-Tags
optional string Value nil, only get the current value; any other value, set the value

Returnvalues:
string value the value of the specific tag



^ Reaper version 6.16 Ultraschall version 4.2Metadata_XMP_GetSet

Functioncall:
Lua: boolean retval = ultraschall.Metadata_XMP_GetSet(string Tag, optional string Value)

Description:

Gets/Sets a stored XMP-metadata-tag into the current project.

To get a value, set parameter Value to nil; to set a value, set the parameter Value to the desired value

Supported tags are: dc/title - title dc/description - description dm/artist - the artist dm/genre - the genre dm/key - the key dm/tempo - the tempo dm/timeSignature - the time-signature dc/date - the date dm/logComment - Comment dm/composer - the composer dc/creator - the creator dm/engineer - the engineer dm/album - the album dm/scene - the scene dm/copyright - the copyright message dc/language - the language

Returns nil in case of an error


Parameters:
string Tag the tag, whose value you want to get/set; see description for a list of supported XMP-Tags
optional string Value nil, only get the current value; any other value, set the value

Returnvalues:
string value the value of the specific tag




^ Reaper version 5.95 Ultraschall version 4.00WinterlySnowflakes

Functioncall:
Lua: integer retval = ultraschall.WinterlySnowflakes(boolean toggle, number falling_speed, integer number_snowflakes)

Description:

Exchanges the gfx.update()-function with a variant, that displays falling snowflakes everytime it is called.

returns -1 in case of error

Parameters:
boolean toggle true, toggles falling snow on; false, toggles falling snow off
number falling_speed the falling speed of the snowflakes, 1.3 is recommended
integer number_snowflakes the number of falling snowflakes at the same time on screen; 2000 is recommended

Returnvalues:
integer retval returns -1 in case of a'JS_Window_ListFind' n error; 1, in case of success




^ Reaper version 6.10 Ultraschall version 4.1ActivateMute

Functioncall:
Lua: boolean retval = ultraschall.ActivateMute(integer track, optional boolean visible)

Description:

activates a mute-envelope of a track

returns false in case of error


Parameters:
integer track the track, whose mute-envelope you want to activate; 1, for the first track
optional boolean visible true, show the activated mute-envelope; false, don't show the activated mute-envelope

Returnvalues:
boolean retval true, activating was successful; false, activating was unsuccessful



^ Reaper version 6.10 Ultraschall version 4.1ActivateMute_TrackObject

Functioncall:
Lua: boolean retval = ultraschall.ActivateMute_TrackObject(MediaTrack track, optional boolean visible)

Description:

activates a mute-envelope of a MediaTrack-object

returns false in case of error


Parameters:
MediaTrack track the track, whose mute-envelope you want to activate
optional boolean visible true, show the activated mute-envelope; false, don't show the activated mute-envelope

Returnvalues:
boolean retval true, activating was successful; false, activating was unsuccessful



^ Reaper version 6.10 Ultraschall version 4.1DeactivateMute

Functioncall:
Lua: boolean retval = ultraschall.DeactivateMute(integer track)

Description:

deactivates a mute-envelope of a track

returns false in case of error


Parameters:
integer track the track, whose mute-envelope you want to deactivate; 1, for the first track

Returnvalues:
boolean retval true, deactivating was successful; false, deactivating was unsuccessful



^ Reaper version 6.10 Ultraschall version 4.1DeactivateMute_TrackObject

Functioncall:
Lua: boolean retval = ultraschall.DeactivateMute_TrackObject(integer track)

Description:

deactivates a mute-envelope of a MediaTrack-object

returns false in case of error


Parameters:
integer track the track, whose mute-envelope you want to deactivate

Returnvalues:
boolean retval true, deactivating was successful; false, deactivating was unsuccessful




^ Reaper version 5.40 Ultraschall version 4.00CountMuteEnvelopePoints

Functioncall:
Lua: integer retval = ultraschall.CountMuteEnvelopePoints(integer track)

Description:

Returns the number of the envelope-points in the Mute-lane of track "track".

Returns -1, if it fails.

Parameters:
integer track the track-number, for which you want to count the mute-envelope-points, beginning with 1.

Returnvalues:
integer retval number of mute-envelope-points



^ Reaper version 5.95 Ultraschall version 4.00DeleteMuteState

Functioncall:
Lua: boolean retval = ultraschall.DeleteMuteState(integer tracknumber, number position)

Description:

Deletes a mute-point in track tracknumber at position.

Returns false in case of an error

Parameters:
integer tracknumber the track in which to delete the mute-point; is 1-based, means 1 for track 1
number position the position of the mute-point to delete

Returnvalues:
boolean retval true, deleting was successful; false, deleting wasn't successful.



^ Reaper version 5.95 Ultraschall version 4.00DeleteMuteState_TrackObject

Functioncall:
Lua: boolean retval = ultraschall.DeleteMuteState_TrackObject(MediaTrack MediaTrack, number position)

Description:

Deletes a mute-point in a MediaTrack-object at position.

Returns false in case of an error

Parameters:
MediaTrack MediaTrack the track in which to delete the mute-point
number position the position of the mute-point to delete

Returnvalues:
boolean retval true, deleting was successful; false, deleting wasn't successful.



^ Reaper version 5.40 Ultraschall version 4.00GetNextMuteState

Functioncall:
Lua: integer envIDX, number envVal, number envPosition = ultraschall.GetNextMuteState(integer track, number position)

Description:

Returns the next mute-envelope-point-ID, it's value(0 or 1) and it's time. Envelope-Points numbering starts with 0!

Returns -1 if not existing.

Parameters:
integer track the track-number, for where you want to set the mute-envelope-lane, beginning with 1.
number position position in seconds, from where to look for the next mute-envelope-point

Returnvalues:
integer envIDX number of the muteenvelope-point
number envVal value of the muteenvelope-point (0 or 1)
number envPosition position of the muteenvelope-point in seconds



^ Reaper version 5.40 Ultraschall version 4.00GetNextMuteState_TrackObject

Functioncall:
Lua: integer envIDX, number envVal, number envPosition = ultraschall.GetNextMuteState_TrackObject(MediaTrack track, number position)

Description:

Returns the next mute-envelope-point-ID, it's value(0 or 1) and it's time. Envelope-Points numbering starts with 0!

Returns -1 if not existing.

Parameters:
MediaTrack track the MediaTrack-object, for the track, where you want to set the mute-envelope-lane.
number position position in seconds, from where to look for the next mute-envelope-point

Returnvalues:
integer envIDX number of the muteenvelope-point
number envVal value of the muteenvelope-point (0 or 1)
number envPosition position of the muteenvelope-point in seconds



^ Reaper version 5.40 Ultraschall version 4.00GetPreviousMuteState

Functioncall:
Lua: integer envIDX, number envVal, number envPosition = ultraschall.GetPreviousMuteState(integer track, number position)

Description:

Returns the previous mute-envelope-point-ID, it's value(0 or 1) and it's time. Envelope-Points numbering starts with 0!

Returns -1 if not existing.

Parameters:
integer track the track-number, for where you want to set the mute-envelope-lane, beginning with 1.
number position position in seconds, from where to look for the previous mute-envelope-point

Returnvalues:
integer envIDX number of the muteenvelope-point
number envVal value of the muteenvelope-point (0 or 1)
number envPosition position of the muteenvelope-point in seconds



^ Reaper version 5.40 Ultraschall version 4.00GetPreviousMuteState_TrackObject

Functioncall:
Lua: integer envIDX, number envVal, number envPosition = ultraschall.GetPreviousMuteState_TrackObject(MediaTrack track, number position)

Description:

Returns the previous mute-envelope-point-ID, it's value(0 or 1) and it's time. Envelope-Points numbering starts with 0!

Returns -1 if not existing.

Parameters:
MediaTrack track the MediaTrack-object, for the track, where you want to set the mute-envelope-lane.
number position position in seconds, from where to look for the previous mute-envelope-point

Returnvalues:
integer envIDX number of the muteenvelope-point
number envVal value of the muteenvelope-point (0 or 1)
number envPosition position of the muteenvelope-point in seconds



^ Reaper version 5.95 Ultraschall version 4.00IsMuteAtPosition

Functioncall:
Lua: boolean retval, optional integer envIDX, optional number envVal = ultraschall.IsMuteAtPosition(integer tracknumber, number position)

Description:

Returns true, if a mute-point exists in track tracknumber at position position.

Returns false in case of an error

Parameters:
integer tracknumber the track in which to check for a mute-point; is 1-based, means 1 for track 1
number position the position to check for a mute-point

Returnvalues:
boolean retval true, if there is a mute-point; false, if there isn't one
optional integer envIDX if a mute-point is at position, this holds the index of the envelope-point
optional number envVal the current set value of the mute-point



^ Reaper version 5.95 Ultraschall version 4.00IsMuteAtPosition_TrackObject

Functioncall:
Lua: boolean retval, optional integer envIDX, optional number envVal = ultraschall.IsMuteAtPosition_TrackObject(MediaTrack MediaTrack, number position)

Description:

Returns true, if a mute-point exists in MediaTrack-object at position position.

Returns false in case of an error

Parameters:
MediaTrack MediaTrack the track in which to check for a mute-point
number position the position to check for a mute-point

Returnvalues:
boolean retval true, if there is a mute-point; false, if there isn't one
optional integer envIDX if a mute-point is at position, this holds the index of the envelope-point
optional number envVal the current set value of the mute-point



^ Reaper version 5.40 Ultraschall version 4.1ToggleMute

Functioncall:
Lua: integer retval = ultraschall.ToggleMute(integer track, number position, integer state)

Description:

Sets mute within the mute-envelope-lane, by inserting the fitting envelope-points. Can be used to program coughbuttons.
    
    Note: If the user sets the track muted using the mute-button of the track, changes to the mute-envelope will be made but possibly ignored by Reaper by Reaper's design. So maybe taking care of this is neccessary in scripts.

Returns -1, in case of an error
    
    Works like ultraschall.ToggleMute_TrackObject but uses a tracknumber instead of a trackobject as parameter.

Parameters:
integer track the track-number, for where you want to set the mute-envelope-lane; 1, for the first track; 2, for the second
number position position in seconds
integer state 0, for mute the track on this position; 1, for unmuting the track on this position

Returnvalues:
integer retval toggling was 0, success; -1, fail



^ Reaper version 5.40 Ultraschall version 4.1ToggleMute_TrackObject

Functioncall:
Lua: integer retval = ultraschall.ToggleMute_TrackObject(MediaTrack trackobject, number position, integer state)

Description:

Sets mute within the mute-envelope-lane, by inserting the fitting envelope-points. Can be used to program coughbuttons.

Note: If the user sets the track muted using the mute-button of the track, changes to the mute-envelope will be made but possibly ignored by Reaper by Reaper's design. So maybe taking care of this is neccessary in scripts.
    
    Returns -1, if it fails.

Works like ultraschall.ToggleMute but uses a trackobject instead of the tracknumber as parameter.

Parameters:
MediaTrack trackobject the track-object for the track, where you want to set the mute-envelope-lane. Refer GetTrack() for more details.
number position position in seconds
integer state 0, for mute the track on this position, 1, for unmuting the track on this position

Returnvalues:
integer retval toggling was 0, success; -1, fail




^ Reaper version 5.52 SWS version 2.9.7 Ultraschall version 4.00CenterViewToCursor

Functioncall:
Lua: ultraschall.CenterViewToCursor(integer cursortype, optional number position)

Description:

centers the arrange-view around a given cursor

returns nil in case of an error

Parameters:
integer cursortype the cursortype to center 1 - change arrangeview with edit-cursor centered 2 - change arrangeview with play-cursor centered 3 - change arrangeview with mouse-cursor-position centered 4 - change arrangeview with optional parameter position centered
optional number position the position to center the arrangeview to; only used, when cursortype=4



^ Reaper version 5.40 SWS version 2.8.8 Ultraschall version 4.00GetClosestGoToPoints

Functioncall:
Lua: number elementposition_prev, string elementtype_prev, integer number_prev, number elementposition_next, string elementtype_next, integer number_next = ultraschall.GetClosestGoToPoints(string trackstring, number time_position, optional boolean check_itemedge, optional boolean check_marker, optional boolean check_region)

Description:

returns, what are the closest markers/regions/item starts/itemends to position and within the chosen tracks.

returns -1 in case of error

Parameters:
string trackstring tracknumbers, separated by a comma.
number time_position a time position in seconds, from where to check for the next/previous closest items/markers/regions. -1, for editcursorposition; -2, for playcursor-position, -3, the mouse-cursor-position in seconds(where in the project the mousecursor hovers over)
optional boolean check_itemedge true, look for itemedges as possible goto-points; false, do not
optional boolean check_marker true, look for markers as possible goto-points; false, do not
optional boolean check_region true, look for regions as possible goto-point; false, do not

Returnvalues:
number elementposition_prev previous closest markers/regions/item starts/itemends
string elementtype_prev type of the previous closest markers/regions/item starts/itemends the type can be either Itembeg, Itemend, Marker: name, Region_beg: name; Region_end: name, ProjectStart, ProjectEnd; "name" is the name of the marker or region
integer number_prev number of previous closest markers/regions/item starts/itemends
number elementposition_next previous closest markers/regions/item starts/itemends
string elementtype_next type of the previous closest markers/regions/item starts/itemends the type can be either Itembeg, Itemend, Marker: name, Region_beg: name; Region_end: name, ProjectStart, ProjectEnd; "name" is the name of the marker or region
integer number_next number of previous closest markers/regions/item starts/itemends



^ Reaper version 5.40 SWS version 2.8.8 Ultraschall version 4.00GetClosestNextMarker

Functioncall:
Lua: number markerindex, number position, string markertitle = ultraschall.GetClosestNextMarker(integer cursor_type, optional number time_position)

Description:

returns the markerindex(counted from all markers), the position and the name of the next closest marker in seconds.

returns -1 in case of an error

Parameters:
integer cursor_type previous closest marker related to the current position of 0 - Edit Cursor, 1 - Play Cursor, 2 - Mouse Cursor, 3 - Timeposition
optional number time_position only, when cursor_type=3, a time position in seconds, from where to check for the next closest marker. When omitted, it will take the current play(during play and rec) or edit-cursor-position.

Returnvalues:
number markerindex the next closest markerindex (of all(!) markers)
number position the position of the next closest marker
string markertitle the name of the next closest marker



^ Reaper version 5.40 SWS version 2.8.8 Ultraschall version 4.00GetClosestNextRegionEdge

Functioncall:
Lua: number markerindex, number position, string markertitle, string edge_type = ultraschall.GetClosestNextRegionEdge(integer cursor_type, optional number time_position)

Description:

returns the regionindex(counted from all markers and regions), the position and the name of the next closest regionstart/end(depending on which is closer to time_position) in seconds.

returns -1 in case of an error

Parameters:
integer cursor_type previous closest regionstart/end related to the current position of 0, Edit Cursor, 1, Play Cursor, 2, Mouse Cursor, 3, Timeposition
only number time_position only, when cursor_type=3, a time position in seconds, from where to check for the next closest regionstart/end. When omitted, it will take the current play(during play and rec) or edit-cursor-position.

Returnvalues:
number markerindex the next closest markerindex (of all(!) markers)
number position the position of the next closest region
string markertitle the name of the next closest region
string edge_type the type of the edge of the region, either "beg" or "end"



^ Reaper version 5.40 SWS version 2.8.8 Ultraschall version 4.00GetClosestPreviousMarker

Functioncall:
Lua: number markerindex, number position, string markertitle = ultraschall.GetClosestPreviousMarker(integer cursor_type, optional number time_position)

Description:

returns the markerindex(counted from all markers), the position and the name of the previous closest marker in seconds.

Parameters:
integer cursor_type previous closest marker related to the current position of 0 - Edit Cursor, 1 - Play Cursor, 2 - Mouse Cursor, 3 - Timeposition
optional number time_position only, when cursor_type=3, a time position in seconds, from where to check for the previous closest marker. When omitted, it will take the current play(during play and rec) or edit-cursor-position.

Returnvalues:
number markerindex the previous closest markerindex (of all(!) markers)
number position the position of the previous closest marker
string markertitle the name of the previous closest marker



^ Reaper version 5.40 SWS version 2.8.8 Ultraschall version 4.00GetClosestPreviousRegionEdge

Functioncall:
Lua: number markerindex, number position, string markertitle, string edge_type = ultraschall.GetClosestPreviousRegionEdge(integer cursor_type, optional number time_position)

Description:

returns the regionindex(counted from all markers and regions), the position and the name of the previous closest regionstart/end(depending on which is closer to time_position) in seconds.

returns -1 in case of an error

Parameters:
integer cursor_type previous closest regionstart/end related to the current position of 0 - Edit Cursor, 1 - Play Cursor, 2 - Mouse Cursor, 3 - Timeposition
optional number time_position only, when cursor_type=3, a time position in seconds, from where to check for the previous closest regionstart/end. When omitted, it will take the current play(during play and rec) or edit-cursor-position.

Returnvalues:
number markerindex the previous closest markerindex (of all(!) markers)
number position the position of the previous closest marker
string markertitle the name of the previous closest marker
string edge_type the type of the edge of the region, either "beg" or "end"



^ Reaper version 5.95 Ultraschall version 4.00GetLastCursorPosition

Functioncall:
Lua: number last_editcursor_position, number new_editcursor_position, number statechangetime = ultraschall.GetLastCursorPosition()

Description:

Returns the last and current editcursor-position. Needs Ultraschall-API-background-scripts started first, see RunBackgroundHelperFeatures().

Has an issue, when editcursor-position was changed using a modifier, like alt+click or shift+click! Because of that, you should use this only in defer-scripts.

returns -1, if Ultraschall-API-backgroundscripts weren't started yet.


Returnvalues:
number last_editcursor_position the last cursorposition before the current one; -1, in case of an error
number new_editcursor_position the new cursorposition; -1, in case of an error
number statechangetime the time, when the state has changed the last time



^ Reaper version 5.95 Ultraschall version 4.00GetLastLoopState

Functioncall:
Lua: string last_loop_state, string new_loop_state, number statechangetime = ultraschall.GetLastLoopState()

Description:

Returns the last and current loopstate. Needs Ultraschall-API-background-scripts started first, see RunBackgroundHelperFeatures().

Possible states are LOOPED, UNLOOPED

returns -1, if Ultraschall-API-backgroundscripts weren't started yet.


Returnvalues:
string last_loop_state the last loopstate before the current one; -1, in case of an error
string new_loop_state the current loopstate; -1, in case of an error
number statechangetime the time, when the state has changed the last time



^ Reaper version 5.95 Ultraschall version 4.00GetLastPlayState

Functioncall:
Lua: string last_play_state, string new_play_state, number statechangetime = ultraschall.GetLastPlayState()

Description:

Returns the last and current playstate. Needs Ultraschall-API-background-scripts started first, see RunBackgroundHelperFeatures().

possible states are STOP, PLAY, PLAYPAUSE, REC, RECPAUSE

returns -1, if Ultraschall-API-backgroundscripts weren't started yet.


Returnvalues:
string last_play_state the last playstate before the current one; -1, in case of an error
string new_play_state the new playstate; -1, in case of an error
number statechangetime the time, when the state has changed the last time



^ Reaper version 5.40 SWS version 2.8.8 Ultraschall version 4.00GetNextClosestItemEdge

Functioncall:
Lua: number position, integer item_number, string edgetype, MediaItem found_item = ultraschall.GetNextClosestItemEdge(string trackstring, integer cursor_type, optional number time_position)

Description:

returns the position of the next closest item in seconds. It will return the position of the beginning or the end of that item, depending on what is closer.

returns -1 in case of an error

Parameters:
string trackstring a string with the numbers of tracks to check for closest items, separated by a comma (e.g. "0,1,6")
integer cursor_type next closest item related to the current position of 0 - Edit Cursor, 1 - Play Cursor, 2 - Mouse Cursor, 3 - Timeposition
optional number time_position only, when cursor_type=3, a time position in seconds, from where to check for the next closest item. When omitted, it will take the current play(during play and rec) or edit-cursor-position.

Returnvalues:
number position the position of the next closest item-edge in tracks in trackstring
integer item_number the itemnumber in the project
string edgetype "beg" for beginning of the item, "end" for the end of the item
MediaItem found_item the next closest found MediaItem



^ Reaper version 5.40 SWS version 2.8.8 Ultraschall version 4.00GetPreviousClosestItemEdge

Functioncall:
Lua: number position, number position, integer item_number, string edgetype, MediaItem found_item = ultraschall.GetPreviousClosestItemEdge(string tracks, integer cursor_type, optional number time_position)

Description:

returns the position of the previous closest item-edge in seconds. It will return the position of the beginning or the end of that item, depending on what is closer.

returns -1 in case of an error

Parameters:
string tracks a string with the numbers of tracks to check for closest items, separated by a comma (e.g. "0,1,6")
integer cursor_type previous closest item related to the current position of 0 - Edit Cursor, 1 - Play Cursor, 2 - Mouse Cursor, 3 - Timeposition
optional time_position only, when cursor_type=3, a time position in seconds, from where to check for the previous closest item. When omitted, it will take the current play(during play and rec) or edit-cursor-position.

Returnvalues:
number position the position of the previous closest item edge in tracks in trackstring
integer item_number the itemnumber in the project
string edgetype "beg" for beginning of the item, "end" for the end of the item
MediaItem found_item the next closest found MediaItem



^ Reaper version 5.40 Ultraschall version 4.00JumpBackwardBy

Functioncall:
Lua: ultraschall.JumpBackwardBy(number seconds, boolean seekplay)

Description:

Jumps editcursor backward by seconds seconds.

Returns -1 if parameter is negative. During Recording: only the playcursor will be moved, the current recording-position is still at it's "old" position! If you want to move the current recording position as well, use ultraschall.JumpBackwardBy_Recording instead.

Parameters:
number seconds jump backwards by seconds
boolean seekplay true, move playcursor as well; false, leave playcursor at it's old position



^ Reaper version 5.40 Ultraschall version 4.00JumpBackwardBy_Recording

Functioncall:
Lua: ultraschall.JumpBackwardBy_Recording(number seconds)

Description:

Stops recording, jumps backward by seconds seconds and restarts recording. Will keep paused-recording, if recording was paused. Has no effect during play,play/pause and stop.

returns -1 in case of an error

Parameters:
number seconds restart recording backwards by seconds



^ Reaper version 5.40 Ultraschall version 4.00JumpForwardBy

Functioncall:
Lua: ultraschall.JumpForwardBy(number seconds, boolean seekplay)

Description:

Jumps editcursor forward by seconds seconds.

Returns -1 if parameter is negative. During Recording: only the playcursor will be moved, the current recording-position is still at it's "old" position! If you want to move the current recording position as well, use ultraschall.JumpForwardBy_Recording instead.

Parameters:
number seconds jump forward by seconds
boolean seekplay true, move playcursor as well; false, don't move playcursor



^ Reaper version 5.40 Ultraschall version 4.00JumpForwardBy_Recording

Functioncall:
Lua: ultraschall.JumpForwardBy_Recording(number seconds)

Description:

Stops recording, jumps forward by seconds seconds and restarts recording. Will keep paused-recording, if recording was paused. Has no effect during play,play/pause and stop.

returns -1 in case of an error

Parameters:
number seconds restart recording forwards by seconds



^ Reaper version 5.40 Ultraschall version 4.00SetPlayAndEditCursor_WhenPlaying

Functioncall:
Lua: ultraschall.SetPlayAndEditCursor_WhenPlaying(number position)

Description:

Changes position of the play and edit-cursor, when playing. Changes view to new playposition.

Has no effect during recording, when paused or stop and returns -1 in these cases!

Parameters:
number position in seconds



^ Reaper version 5.40 Ultraschall version 4.00SetPlayCursor_WhenPlaying

Functioncall:
Lua: ultraschall.SetPlayCursor_WhenPlaying(number position)

Description:

Changes position of the play-cursor, when playing. Changes view to new playposition.

Has no effect during recording, when paused or stop and returns -1 in these cases!

Parameters:
number position in seconds



^ Reaper version 5.40 Ultraschall version 4.00ToggleScrollingDuringPlayback

Functioncall:
Lua: ultraschall.ToggleScrollingDuringPlayback(integer scrolling_switch, boolean move_editcursor, boolean goto_playcursor)

Description:

Toggles scrolling during playback and recording. Let's you choose to put the edit-marker at the playposition, where you toggled scrolling.
You can also move the view to the playcursor-position.

It changes, if necessary, the state of the actions 41817, 40036 and 40262 to scroll or not to scroll; keep that in mind, if you use these actions otherwise as well!

returns -1 in case of error

Parameters:
integer scrolling_switch 1, on; 0, off
boolean move_editcursor when scrolling stops, shall the editcursor be moved to current position of the playcursor(true) or not(false)
boolean goto_playcursor true, move view to playcursor; false, don't move

Returnvalues:
integer retval -1, in case of an error




^ Reaper version 5.965 SWS version 2.10.0.1 Ultraschall version 4.00Scrubbing_MoveCursor_GetToggleState

Functioncall:
Lua: boolean state = ultraschall.Scrubbing_MoveCursor_GetToggleState()

Description:

Returns, if scrub is toggled on/off, for when moving editcursor via action or control surface, as set in Preferences -> Playback.

Returnvalues:
boolean retval true, scrub is on; false, scrub is off



^ Reaper version 5.965 SWS version 2.10.0.1 Ultraschall version 4.00Scrubbing_MoveCursor_Toggle

Functioncall:
Lua: boolean state, optional integer new_scrubmode = ultraschall.Scrubbing_MoveCursor_Toggle(boolean toggle)

Description:

Toggles scrub on/off, for when moving editcursor via action or control surface, as set in Preferences -> Playback.

returns false in case of an error

Parameters:
boolean toggle true, toggles scrubbing on; false, toggles scrubbing off

Returnvalues:
boolean retval true, toggling was successful; false, toggling was unsuccessful
optional integer new_scrubmode this is the new value of the configvariable scrubmode, which is altered by this function




^ Reaper version 5.965 Ultraschall version 4.00GetLoopState

Functioncall:
Lua: integer retval = ultraschall.GetLoopState()

Description:

Returns the current loop-state

Returnvalues:
integer retval 0, loop is on; 1, loop is off



^ Reaper version 5.965 Ultraschall version 4.00SetLoopState

Functioncall:
Lua: boolean retval = ultraschall.SetLoopState(integer state)

Description:

Sets the current loop-state

returns false in case of an error

Parameters:
integer state 0, loop is on; 1, loop is off

Returnvalues:
boolean retval true, if setting was successful; false, if setting was unsuccessful




^ Reaper version 6.20 SWS version 2.10.0.1 JS version 0.972 Ultraschall version 4.2GetProjectStateChunk

Functioncall:
Lua: string ProjectStateChunk = ultraschall.GetProjectStateChunk(optional string projectfilename_with_path, optional boolean keepqrender)

Description:

Gets the ProjectStateChunk of the current active project or a projectfile.

Important: when calling it too often in a row, this might fail and result in a timeout-error.
I tried to circumvent this, but best practice is to wait 2-3 seconds inbetween calling this function.

Note: This function eats up a lot of resources, so be sparse with it in general!

Works reliably from Reaper 6.20 onwards.

returns nil if getting the ProjectStateChunk took too long

Parameters:
optional string projectfilename_with_path the filename of an rpp-projectfile, that you want to load as ProjectStateChunk; nil, to get the ProjectStateChunk from the currently active project
optional boolean keepqrender true, keeps the QUEUED_RENDER_OUTFILE and QUEUED_RENDER_ORIGINAL_FILENAME entries in the ProjectStateChunk, if existing; false or nil, remove them

Returnvalues:
string ProjectStateChunk the ProjectStateChunk of the current project; nil, if getting the ProjectStateChunk took too long



^ Reaper version 5.965 Ultraschall version 4.1GetProject_RenderOutputPath

Functioncall:
Lua: string render_output_directory = ultraschall.GetProject_RenderOutputPath(string projectfilename_with_path)

Description:

returns the output-directory for rendered files of a project.

Doesn't return the correct output-directory for queued-projects!

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfilename with path, whose renderoutput-directories you want to know

Returnvalues:
string render_output_directory the output-directory for projects




^ Reaper version 5.40 Ultraschall version 4.00SetProject_GroupOverride

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_GroupOverride(string projectfilename_with_path, integer group_override1, optional string ProjectStateChunk)

Description:

Sets the group-override-state in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer group_override1 the group-override state
integer group_override2 the group-override state
integer group_override3 the group-override state
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk




^ Reaper version 6.10 Ultraschall version 4.1AutoSave_GetMinutes

Functioncall:
Lua: integer minutes = ultraschall.AutoSave_GetMinutes()

Description:

Gets the currently set amount of minutes, at which a new autosave-project shall be saved

Returnvalues:
integer minutes 0, autosave is turned off; 1 to 2147483647, the number of minutes at which a new autosaved-project shall be saved



^ Reaper version 6.10 Ultraschall version 4.1AutoSave_GetOptions

Functioncall:
Lua: boolean timestamp_in_project, boolean save_undo_history = ultraschall.AutoSave_GetOptions()

Description:

Gets the current states of the Save to timestamped file in project directory and Save undo history (RPP-UNDO)(if enabled in general prefs)-settings.    

Returnvalues:
boolean timestamp_in_project Save to timestamped file in project directory; true, set to on; false, set to off
boolean save_undo_history Save undo history (RPP-UNDO)(if enabled in general prefs); true, set to on; false, set to off



^ Reaper version 6.10 Ultraschall version 4.1AutoSave_SetMinutes

Functioncall:
Lua: boolean retval = ultraschall.AutoSave_SetMinutes(integer minutes)

Description:

Sets the number of minutes, at which a new autosaved-project shall be saved.

0 to turn it off

Returns false in case of error

Parameters:
integer minutes 0, turn off autosave; 1 to 2147483647, the number of minutes at which a new autosaved-project shall be saved

Returnvalues:
boolean retval true, setting worked; false, setting didn't work



^ Reaper version 6.10 Ultraschall version 4.1AutoSave_SetOptions

Functioncall:
Lua: boolean retval = ultraschall.AutoSave_SetOptions(optional boolean timestamp_in_project, optional boolean save_undo_history)

Description:

Gets the current states of the Save to timestamped file in project directory and Save undo history (RPP-UNDO)(if enabled in general prefs)-settings.    

Returnvalues:
optional boolean timestamp_in_project Save to timestamped file in project directory; true, set to on; false, set to off; nil, keep current setting
optional boolean save_undo_history Save undo history (RPP-UNDO)(if enabled in general prefs); true, set to on; false, set to off; nil, keep current setting




^ Reaper version 5.40 Ultraschall version 4.00CheckForChangedProjectTabs

Functioncall:
Lua: boolean retval, integer countReorderedProj, array reorderedProj, integer countNewProj, array newProj, integer countClosedProj, array closedProj, integer countRenamedProjects, array RenamesProjects = ultraschall.CheckForChangedProjectTabs(boolean update)

Description:

Returns if projecttabs have been changed due reordering, new projects or closed projects, since last calling this function.
Set update=true to update Ultraschall's internal project-monitoring-list or it will only return the changes since starting the API in this script or since the last time you used this function with parameter update set to true!

Returns false, -1 in case of error.

Parameters:
boolean update true, update Ultraschall's internal projecttab-monitoring-list to the current state of all tabs false, don't update the internal projecttab-monitoring-list, so it will keep the "old" project-tab-state as checking-reference

Returnvalues:
boolean retval false, no changes in the projecttabs at all; true, either order, newprojects or closed project-changes
integer countReorderedProj the number of reordered projects
array reorderedProj ReaProjects, who got reordered within the tabs
integer countNewProj the number of new projects
array newProj the new projects as ReaProjects
integer countClosedProj the number of closed projects
array closedProj the closed projects as ReaProjects
integer countRenamedProjects the number of projects, who got renamed by either saving under a new filename or loading of another project
array RenamesProjects the renamed projects, by loading a new project or saving the project under another filename



^ Reaper version 5.941 Ultraschall version 4.00ConvertOldProjectToCurrentReaperVersion

Functioncall:
Lua: boolean retval = ultraschall.ConvertOldProjectToCurrentReaperVersion(string filename_with_path)

Description:

Convert an old Reaper-project to the current Reaper-version.
It creates a backup-copy of the old version of the project.rpp to project.rpp~0
After that, it will open the project and save it again, so it is saved with the newest version of Reaper.

Maybe helpful, when you want to use the Ultraschall-API Get/SetProject-State-functions on older projects, where some states were saved differently.
Just create a "new" version of it and use the aforementioned functions on the new project-version.

Returns false in case of an error.

Parameters:
string filename_with_path the filename with path of the rpp-projectfile to be converted.

Returnvalues:
boolean retval true, conversion was successfull; false, conversion wasn't successful(file doesn't exist or a copy can't be created)



^ Reaper version 5.40 Ultraschall version 4.00CountProjectTabs

Functioncall:
Lua: integer number_of_projecttabs = ultraschall.CountProjectTabs()

Description:

Counts the number of opened project tabs.

Returnvalues:
integer number_of_projecttabs the number of projecttabs currently opened



^ Reaper version 5.965 Ultraschall version 4.00CreateTemporaryFileOfProjectfile

Functioncall:
Lua: string tempfile = ultraschall.CreateTemporaryFileOfProjectfile(string projectfilename_with_path)

Description:

Creates a temporary copy of an rpp-projectfile, which can be altered and rendered again.

Must be deleted by hand using os.remove(tempfile) after you're finished.

returns nil in case of an error

Parameters:
string projectfilename_with_path the project to render; nil, for the currently opened project(needs to be saved first)

Returnvalues:
string tempfile the temporary-file, that is a valid copy of the projectfilename_with_path



^ Reaper version 5.40 Ultraschall version 4.00EnumProjects

Functioncall:
Lua: ReaProject retval, string projfn = ultraschall.EnumProjects(integer idx)

Description:

returns, ReaProject-object and projectname of a requested, opened project.

Returns nil in case of an error.

Parameters:
integer idx the project to request; 1(first project-tab) to n(last project-tab), 0 for current project; -1 for currently-rendering project

Returnvalues:
ReaProject retval a ReaProject-object of the project you requested; nil, if not existing
string projfn the path+filename.rpp of the project. returns "" if no filename exists



^ Reaper version 5.941 Ultraschall version 4.00GetCurrentTimeLengthOfFrame

Functioncall:
Lua: number length = ultraschall.GetCurrentTimeLengthOfFrame(ReaProject ReaProject)

Description:

Returns a project's length of a frame in seconds. Depends on the fps set in the Project's settings of ReaProject.

Returns -1 in case of an error

Parameters:
ReaProject ReaProject the project to check for; use nil or 0 for the current project

Returnvalues:
number length the current length of a frame of ReaProject in seconds



^ Reaper version 5.941 Ultraschall version 4.00GetLengthOfFrames

Functioncall:
Lua: number length = ultraschall.GetLengthOfFrames(integer frames, ReaProject ReaProject)

Description:

Returns the length of a number of frames of a ReaProject. Depends on the fps set in the Project's settings of ReaProject.

Returns -1 in case of an error

Parameters:
integer frames the number of frames, whose length you would love to know
ReaProject ReaProject the project to check for; use nil or 0 for the current project

Returnvalues:
number length the current length of frames of ReaProject in seconds



^ Reaper version 5.40 Ultraschall version 4.00GetProjectFilename

Functioncall:
Lua: string projectfilename_with_path = ultraschall.GetProjectFilename(ReaProject proj)

Description:

Returns the filename of a currently opened project(-tab)

returns nil in case of an error

Parameters:
ReaProject proj a currently opened project, whose filename you want to know

Returnvalues:
string projectfilename_with_path the filename of the project; "", project hasn't been saved yet; nil, in case of an error



^ Reaper version 5.40 Ultraschall version 4.1GetProjectLength

Functioncall:
Lua: number project_length, number last_itemedge, number last_regionedgepos, number last_markerpos, number last_timesigmarker = ultraschall.GetProjectLength(optional boolean return_last_itemedge, optional boolean return_last_markerpos, optional boolean return_lat_timesigmarkerpos, optional boolean include_rec)

Description:

Returns the position of the last itemedge, regionend, marker, time-signature-marker in the project.

It will return -1, if no such elements are found, means: last_markerpos=-1 if no marker has been found Exception when no items are found, it will return nil for last_itemedge

You can optimise the speed of the function, by setting the appropriate parameters to false. So if you don't need the last itemedge, setting return_last_itemedge=false speeds up execution massively.

If you want to have the full projectlength during recording, means, including items currently recorded, set include_rec=true

To do the same for projectfiles, use: GetProject_Length


Parameters:
optional boolean return_last_itemedge true or nil, return the last itemedge; false, don't return it
optional boolean return_last_markerpos true or nil, return the last marker/regionend-position; false, don't return it
optional boolean return_lat_timesigmarkerpos true or nil, return the last timesignature-marker-position; false, don't return it
optional boolean include_rec true, takes into account the projectlength during recording; nil or false, only the projectlength exluding currently recorded MediaItems

Returnvalues:
number length_of_project the overall length of the project, including markers, regions, itemedges and time-signature-markers
number last_itemedge the position of the last itemedge in the project; nil, if not found
number last_regionedgepos the position of the last regionend in the project; -1, if not found
number last_markerpos the position of the last marker in the project; -1, if not found
number last_timesigmarker the position of the last timesignature-marker in the project; -1, if not found



^ Reaper version 5.95 Ultraschall version 4.00GetProject_Length

Functioncall:
Lua: number length, number last_itemedge, number last_marker_reg_edge, number last_timesig_marker = ultraschall.GetProject_Length(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the projectlength of an rpp-project-file.

It's returning the position of the overall length, as well as the position of the last itemedge/regionedge/marker/time-signature-marker of the project.

To do the same for currently opened projects, use: GetProjectLength

Returns -1 in case of an error


Parameters:
string projectfilename_with_path the filename of the project, that you want to know it's length of; nil, to use Parameter ProjectStateChunk instead
optional string ProjectStateChunk a ProjectStateChunk to count the length of; only available when projectfilename_with_path=nil

Returnvalues:
number length the length of the project
number last_itemedge the postion of the last itemedge in the project
number last_marker_reg_edge the position of the last marker/regionedge in the project
number last_timesig_marker the position of the last time-signature-marker in the project



^ Reaper version 5.95 Ultraschall version 4.00GetProject_Length

Functioncall:
Lua: number length, number last_itemedge, number last_marker_reg_edge, number last_timesig_marker = ultraschall.GetProject_Length(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the projectlength of an rpp-project-file.

It's returning the position of the overall length, as well as the position of the last itemedge/regionedge/marker/time-signature-marker of the project.

To do the same for currently opened projects, use: GetProjectLength

Returns -1 in case of an error


Parameters:
string projectfilename_with_path the filename of the project, that you want to know it's length of; nil, to use Parameter ProjectStateChunk instead
optional string ProjectStateChunk a ProjectStateChunk to count the length of; only available when projectfilename_with_path=nil

Returnvalues:
number length the length of the project
number last_itemedge the postion of the last itemedge in the project
number last_marker_reg_edge the position of the last marker/regionedge in the project
number last_timesig_marker the position of the last time-signature-marker in the project



^ Reaper version 5.40 Ultraschall version 4.00GetProject_Tabs

Functioncall:
Lua: integer number_of_projecttabs, array projecttablist = ultraschall.GetProject_Tabs()

Description:

Returns the ReaProject-objects, as well as the filenames of all opened project-tabs.

Returnvalues:
integer number_of_projecttabs the number of projecttabs currently opened
array projecttablist an array, that holds all ReaProjects as well as the projectfilenames projecttablist[idx][1] = ReaProject projecttablist[idx][2] = projectfilename with path



^ Reaper version 6.02 SWS version 2.10.0.1 Ultraschall version 4.00GetRecentProjects

Functioncall:
Lua: integer count_of_RecentProjects, array RecentProjectsFilenamesWithPath = ultraschall.GetRecentProjects()

Description:

returns all available recent projects, as listed in the File -> Recent projects-menu


Returnvalues:
integer count_of_RecentProjects the number of available recent projects
array RecentProjectsFilenamesWithPath the filenames of the recent projects



^ Reaper version 6.02 Ultraschall version 4.1IsTimeSelectionActive

Functioncall:
Lua: boolean retval, optional number start_of_timeselection, optional number end_of_timeselection = ultraschall.IsTimeSelectionActive(optional ReaProject Project)

Description:

Returns, if there's a time-selection and its start and endposition in a project.

returns false in case of an error

Parameters:
optional ReaProject Project the project, whose time-selection-state you want to know; 0 or nil, the current project

Returnvalues:
boolean retval true, there is a time-selection; false, there isn't a time-selection
optional number start_of_timeselection start of the time-selection
optional number end_of_timeselection end of the time-selection



^ Reaper version 5.40 Ultraschall version 4.2IsValidProjectStateChunk

Functioncall:
Lua: boolean retval = ultraschall.IsValidProjectStateChunk(string ProjectStateChunk)

Description:

Checks, whether ProjectStateChunk is a valid ProjectStateChunk

Parameters:
string ProjectStateChunk the string to check, if it's a valid ProjectStateChunk

Returnvalues:
boolean retval true, if it's a valid ProjectStateChunk; false, if not



^ Reaper version 5.77 Ultraschall version 4.00IsValidReaProject

Functioncall:
Lua: boolean retval = ultraschall.IsValidReaProject(ReaProject ReaProject)

Description:

Returns, if parameter ReaProject is a valid ReaProject(means, an existing opened project) or not.

returns false in case of an error

Parameters:
ReaProject ReaProject the object that you want to check for being a valid ReaProject

Returnvalues:
boolean retval true, if parameter ReaProject is a valid ReaProject; false, if parameter ReaProject isn't a valid ReaProject



^ Reaper version 5.941 Ultraschall version 4.00NewProjectTab

Functioncall:
Lua: ReaProject newproject = ultraschall.NewProjectTab(boolean switch_to_new_tab)

Description:

Opens a new projecttab and optionally switches to it. Returns the newly created ReaProject.

returns nil in case of an error

Parameters:
boolean switch_to_new_tab true, switch to the newly created project-tab; false, stay in the "old" project-tab

Returnvalues:
ReaProject newproject the newly created project-object of the projecttab




^ Reaper version 6.02 Ultraschall version 4.00GetAllMediaItems_FromProjectBayStateChunk

Functioncall:
Lua: integer count, array MediaItemStateChunkArray = ultraschall.GetAllMediaItems_FromProjectBayStateChunk(string ProjectBayStateChunk)

Description:

returns all items from a ProjectBayStateChunk as MediaItemStateChunkArray

returns -1 in case of an error

Parameters:
string ProjectBayStateChunk a string, that you want to check for being a valid ProjectBayStateChunk

Returnvalues:
integer count the number of items found in the ProjectBayStateChunk
array MediaitemStateChunkArray all items as ItemStateChunks in a handy array



^ Reaper version 6.02 Ultraschall version 4.00IsValidProjectBayStateChunk

Functioncall:
Lua: boolean retval = ultraschall.IsValidProjectBayStateChunk(string ProjectBayStateChunk)

Description:

checks, if ProjectBayStateChunk is a valid ProjectBayStateChunk

returns false in case of an error

Parameters:
string ProjectBayStateChunk a string, that you want to check for being a valid ProjectBayStateChunk

Returnvalues:
boolean retval true, valid ProjectBayStateChunk; false, not a valid ProjectBayStateChunk




^ Reaper version 6.02 Ultraschall version 4.00GetProjectState_NumbersOnly

Functioncall:
Lua: table values = ultraschall.GetProjectState_NumbersOnly(string projectfilename_with_path, string state, optional string ProjectStateChunk, optional boolean numbertoggle)

Description:

returns a state of the project or a ProjectStateChunk.

It only supports single-entry-states with numbers/integers, separated by spaces!
All other values will be set to nil and strings with spaces will produce weird results!

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the states; nil to use ProjectStateChunk
string state the state, whose attributes you want to retrieve
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file
optional string functionname if this function is used within specific getprojectstate-functions, pass here the "host"-functionname, so error-messages will reflect that
optional boolean numbertoggle true or nil; converts all values to numbers; false, keep them as string versions

Returnvalues:
table values all values found as numerical indexed array



^ Reaper version 6.10 Ultraschall version 4.1GetProject_AddMediaToProjectAfterRender

Functioncall:
Lua: integer state = ultraschall.GetProject_AddMediaToProjectAfterRender(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns, if rendered media shall be added to the project afterwards as well as if likely silent files shall be rendered-state, from an RPP-Projectfile or a ProjectStateChunk.
    
    It's the state of the "Add rendered items to new tracks in project"- checkbox and "Do not render files that are likely silent"-checkbox, as set in the Render to file-dialog.
    
It's the entry RENDER_ADDTOPROJ

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
integer state the state of the "Add rendered items to new tracks in project"- checkbox and "Do not render files that are likely silent"-checkbox &1, rendered media shall be added to the project afterwards; 0, don't add &2, don't render likely silent files; 0, render anyway



^ Reaper version 5.40 Ultraschall version 4.00GetProject_ApplyFXCFG

Functioncall:
Lua: string applyfx_cfg_string = ultraschall.GetProject_ApplyFXCFG(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the audioformat-configuration, for fx-appliance-operation, as an encoded BASE64-string from an RPP-Projectfile or a ProjectStateChunk, as set in ProjectSettings->Media->Format for Apply FX, Glue, Freeze, etc

It's the entry <APPLY_CFG

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
string applyfx_cfg_string the file-format-configuration for fx-appliance as encoded string



^ Reaper version 5.40 Ultraschall version 4.1GetProject_Author

Functioncall:
Lua: string projectauthor = ultraschall.GetProject_Author(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the author from an RPP-Projectfile or a ProjectStateChunk.

It's the entry "  AUTHOR"

Returns nil in case of error or if no such entry exists.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
string author the author of the project; "", if there's no author given



^ Reaper version 5.40 Ultraschall version 4.00GetProject_AutoCrossFade

Functioncall:
Lua: integer autocrossfade_state = ultraschall.GetProject_AutoCrossFade(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the autocrossfade-state from an RPP-Projectfile or a ProjectStateChunk.

It's the entry AUTOXFADE

Returns nil in case of error or if no such entry exists.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
string ProjectStateChunk a ProjectStateChunk to use instead if a filename

Returnvalues:
integer autocrossfade_state the autocrossfade-state



^ Reaper version 5.40 Ultraschall version 4.00GetProject_CountMarkersAndRegions

Functioncall:
Lua: integer number_of_markers_and_regions, integer number_of_regions_only, integer number_of_markers_only = ultraschall.GetProject_CountMarkersAndRegions(string projectfilename_with_path)

Description:

returns the number of all markers, the number of regions and the number of markers(that are not regions) in the project.

It's the entry MARKER

returns -1 in case of an error

Parameters:
string projectfilename_with_path the projectfilename in which to count the markers

Returnvalues:
integer number_of_markers_and_regions the number of all markers and regions
integer number_of_regions_only the number of regions
integer number_of_markers_only the number of markers only



^ Reaper version 5.95 Ultraschall version 4.00GetProject_CountMasterHWOuts

Functioncall:
Lua: integer count_of_hwouts = ultraschall.GetProject_CountMasterHWOuts(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

returns the number of available hwouts in an rpp-project or ProjectStateChunk

It's the entry MASTERHWOUT

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to count the master-hwouts; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
integer count_of_hwouts the number of available hwouts in an rpp-project or ProjectStateChunk



^ Reaper version 5.40 Ultraschall version 4.00GetProject_CursorPos

Functioncall:
Lua: number cursorpos = ultraschall.GetProject_CursorPos(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the cursorposition-state from an RPP-Projectfile or a ProjectStateChunk.

It's the entry CURSOR

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
number cursorpos editcursorposition in seconds



^ Reaper version 5.977 Ultraschall version 4.00GetProject_DefPitchMode

Functioncall:
Lua: integer def_pitch_mode_state, integer stretch_marker_mode = ultraschall.GetProject_DefPitchMode(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the default-pitch-mode, as set in the project-settings, from an rpp-project-file or a ProjectStateChunk.

It's the entry DEFPITCHMODE

def_pitch_mode_state can be
    
    SoundTouch:
        0 - Default settings
        1 - High Quality
        2 - Fast

    Simple windowed (fast):
        131072 - 50ms window, 25ms fade
        131073 - 50ms window, 16ms fade
        131074 - 50ms window, 10ms fade
        131075 - 50ms window, 7ms fade
        131076 - 75ms window, 37ms fade
        131077 - 75ms window, 25ms fade
        131078 - 75ms window, 15ms fade
        131079 - 75ms window, 10ms fade
        131080 - 100ms window, 50ms fade
        131081 - 100ms window, 33ms fade
        131082 - 100ms window, 20ms fade
        131083 - 100ms window, 14ms fade
        131084 - 150ms window, 75ms fade
        131085 - 150ms window, 50ms fade
        131086 - 150ms window, 30ms fade
        131087 - 150ms window, 21ms fade
        131088 - 225ms window, 112ms fade
        131089 - 225ms window, 75ms fade
        131090 - 225ms window, 45ms fade
        131091 - 225ms window, 32ms fade
        131092 - 300ms window, 150ms fade
        131093 - 300ms window, 100ms fade
        131094 - 300ms window, 60ms fade
        131095 - 300ms window, 42ms fade
        131096 - 40ms window, 20ms fade
        131097 - 40ms window, 13ms fade
        131098 - 40ms window, 8ms fade
        131099 - 40ms window, 5ms fade
        131100 - 30ms window, 15ms fade
        131101 - 30ms window, 10ms fade
        131102 - 30ms window, 6ms fade
        131103 - 30ms window, 4ms fade
        131104 - 20ms window, 10ms fade
        131105 - 20ms window, 6ms fade
        131106 - 20ms window, 4ms fade
        131107 - 20ms window, 2ms fade
        131108 - 10ms window, 5ms fade
        131109 - 10ms window, 3ms fade
        131110 - 10ms window, 2ms fade
        131111 - 10ms window, 1ms fade
        131112 - 5ms window, 2ms fade
        131113 - 5ms window, 1ms fade
        131114 - 5ms window, 1ms fade
        131115 - 5ms window, 1ms fade
        131116 - 3ms window, 1ms fade
        131117 - 3ms window, 1ms fade
        131118 - 3ms window, 1ms fade
        131119 - 3ms window, 1ms fade

    ÃƒÂ©lastique 2.2.8 Pro:
        393216 - Normal
        393217 - Preserve Formants (Lowest Pitches)
        393218 - Preserve Formants (Lower Pitches)
        393219 - Preserve Formants (Low Pitches)
        393220 - Preserve Formants (Most Pitches)
        393221 - Preserve Formants (High Pitches)
        393222 - Preserve Formants (Higher Pitches)
        393223 - Preserve Formants (Highest Pitches)
        393224 - Mid/Side
        393225 - Mid/Side, Preserve Formants (Lowest Pitches)
        393226 - Mid/Side, Preserve Formants (Lower Pitches)
        393227 - Mid/Side, Preserve Formants (Low Pitches)
        393228 - Mid/Side, Preserve Formants (Most Pitches)
        393229 - Mid/Side, Preserve Formants (High Pitches)
        393230 - Mid/Side, Preserve Formants (Higher Pitches)
        393231 - Mid/Side, Preserve Formants (Highest Pitches)
        393232 - Synchronized: Normal
        393233 - Synchronized: Preserve Formants (Lowest Pitches)
        393234 - Synchronized: Preserve Formants (Lower Pitches)
        393235 - Synchronized: Preserve Formants (Low Pitches)
        393236 - Synchronized: Preserve Formants (Most Pitches)
        393237 - Synchronized: Preserve Formants (High Pitches)
        393238 - Synchronized: Preserve Formants (Higher Pitches)
        393239 - Synchronized: Preserve Formants (Highest Pitches)
        393240 - Synchronized:  Mid/Side
        393241 - Synchronized:  Mid/Side, Preserve Formants (Lowest Pitches)
        393242 - Synchronized:  Mid/Side, Preserve Formants (Lower Pitches)
        393243 - Synchronized:  Mid/Side, Preserve Formants (Low Pitches)
        393244 - Synchronized:  Mid/Side, Preserve Formants (Most Pitches)
        393245 - Synchronized:  Mid/Side, Preserve Formants (High Pitches)
        393246 - Synchronized:  Mid/Side, Preserve Formants (Higher Pitches)
        393247 - Synchronized:  Mid/Side, Preserve Formants (Highest Pitches)

    ÃƒÂ©lastique 2.2.8 Efficient:
        458752 - Normal
        458753 - Mid/Side
        458754 - Synchronized: Normal
        458755 - Synchronized: Mid/Side

    ÃƒÂ©lastique 2.2.8 Soloist:
        524288 - Monophonic
        524289 - Monophonic [Mid/Side]
        524290 - Speech
        524291 - Speech [Mid/Side]

    ÃƒÂ©lastique 3.3.0 Pro:
        589824 - Normal
        589825 - Preserve Formants (Lowest Pitches)
        589826 - Preserve Formants (Lower Pitches)
        589827 - Preserve Formants (Low Pitches)
        589828 - Preserve Formants (Most Pitches)
        589829 - Preserve Formants (High Pitches)
        589830 - Preserve Formants (Higher Pitches)
        589831 - Preserve Formants (Highest Pitches)
        589832 - Mid/Side
        589833 - Mid/Side, Preserve Formants (Lowest Pitches)
        589834 - Mid/Side, Preserve Formants (Lower Pitches)
        589835 - Mid/Side, Preserve Formants (Low Pitches)
        589836 - Mid/Side, Preserve Formants (Most Pitches)
        589837 - Mid/Side, Preserve Formants (High Pitches)
        589838 - Mid/Side, Preserve Formants (Higher Pitches)
        589839 - Mid/Side, Preserve Formants (Highest Pitches)
        589840 - Synchronized: Normal
        589841 - Synchronized: Preserve Formants (Lowest Pitches)
        589842 - Synchronized: Preserve Formants (Lower Pitches)
        589843 - Synchronized: Preserve Formants (Low Pitches)
        589844 - Synchronized: Preserve Formants (Most Pitches)
        589845 - Synchronized: Preserve Formants (High Pitches)
        589846 - Synchronized: Preserve Formants (Higher Pitches)
        589847 - Synchronized: Preserve Formants (Highest Pitches)
        589848 - Synchronized:  Mid/Side
        589849 - Synchronized:  Mid/Side, Preserve Formants (Lowest Pitches)
        589850 - Synchronized:  Mid/Side, Preserve Formants (Lower Pitches)
        589851 - Synchronized:  Mid/Side, Preserve Formants (Low Pitches)
        589852 - Synchronized:  Mid/Side, Preserve Formants (Most Pitches)
        589853 - Synchronized:  Mid/Side, Preserve Formants (High Pitches)
        589854 - Synchronized:  Mid/Side, Preserve Formants (Higher Pitches)
        589855 - Synchronized:  Mid/Side, Preserve Formants (Highest Pitches)

    ÃƒÂ©lastique 3.3.0 Efficient:
        655360 - Normal
        655361 - Mid/Side
        655362 - Synchronized: Normal
        655363 - Synchronized: Mid/Side

    ÃƒÂ©lastique 3.3.0 Soloist:
        720896 - Monophonic
        720897 - Monophonic [Mid/Side]
        720898 - Speech
        720899 - Speech [Mid/Side]


    Rubber Band Library - Default
        851968 - nothing

    Rubber Band Library - Preserve Formants
        851969 - Preserve Formants

    Rubber Band Library - Mid/Side
        851970 - Mid/Side

    Rubber Band Library - Preserve Formants, Mid/Side
        851971 - Preserve Formants, Mid/Side

    Rubber Band Library - Independent Phase
        851972 - Independent Phase

    Rubber Band Library - Preserve Formants, Independent Phase
        851973 - Preserve Formants, Independent Phase

    Rubber Band Library - Mid/Side, Independent Phase
        851974 - Mid/Side, Independent Phase

    Rubber Band Library - Preserve Formants, Mid/Side, Independent Phase
        851975 - Preserve Formants, Mid/Side, Independent Phase

    Rubber Band Library - Time Domain Smoothing
        851976 - Time Domain Smoothing

    Rubber Band Library - Preserve Formants, Time Domain Smoothing
        851977 - Preserve Formants, Time Domain Smoothing

    Rubber Band Library - Mid/Side, Time Domain Smoothing
        851978 - Mid/Side, Time Domain Smoothing

    Rubber Band Library - Preserve Formants, Mid/Side, Time Domain Smoothing
        851979 - Preserve Formants, Mid/Side, Time Domain Smoothing

    Rubber Band Library - Independent Phase, Time Domain Smoothing
        851980 - Independent Phase, Time Domain Smoothing

    Rubber Band Library - Preserve Formants, Independent Phase, Time Domain Smoothing
        851981 - Preserve Formants, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Mid/Side, Independent Phase, Time Domain Smoothing
        851982 - Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
        851983 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed
        851984 - nothing
        851985 - Preserve Formants
        851986 - Mid/Side
        851987 - Preserve Formants, Mid/Side
        851988 - Independent Phase
        851989 - Preserve Formants, Independent Phase
        851990 - Mid/Side, Independent Phase
        851991 - Preserve Formants, Mid/Side, Independent Phase
        851992 - Time Domain Smoothing
        851993 - Preserve Formants, Time Domain Smoothing
        851994 - Mid/Side, Time Domain Smoothing
        851995 - Preserve Formants, Mid/Side, Time Domain Smoothing
        851996 - Independent Phase, Time Domain Smoothing
        851997 - Preserve Formants, Independent Phase, Time Domain Smoothing
        851998 - Mid/Side, Independent Phase, Time Domain Smoothing
        851999 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth
        852000 - nothing
        852001 - Preserve Formants
        852002 - Mid/Side
        852003 - Preserve Formants, Mid/Side
        852004 - Independent Phase
        852005 - Preserve Formants, Independent Phase
        852006 - Mid/Side, Independent Phase
        852007 - Preserve Formants, Mid/Side, Independent Phase
        852008 - Time Domain Smoothing
        852009 - Preserve Formants, Time Domain Smoothing
        852010 - Mid/Side, Time Domain Smoothing
        852011 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852012 - Independent Phase, Time Domain Smoothing
        852013 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852014 - Mid/Side, Independent Phase, Time Domain Smoothing
        852015 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Percussive
        852016 - nothing
        852017 - Preserve Formants
        852018 - Mid/Side
        852019 - Preserve Formants, Mid/Side
        852020 - Independent Phase
        852021 - Preserve Formants, Independent Phase
        852022 - Mid/Side, Independent Phase
        852023 - Preserve Formants, Mid/Side, Independent Phase
        852024 - Time Domain Smoothing
        852025 - Preserve Formants, Time Domain Smoothing
        852026 - Mid/Side, Time Domain Smoothing
        852027 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852028 - Independent Phase, Time Domain Smoothing
        852029 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852030 - Mid/Side, Independent Phase, Time Domain Smoothing
        852031 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Percussive
        852032 - nothing
        852033 - Preserve Formants
        852034 - Mid/Side
        852035 - Preserve Formants, Mid/Side
        852036 - Independent Phase
        852037 - Preserve Formants, Independent Phase
        852038 - Mid/Side, Independent Phase
        852039 - Preserve Formants, Mid/Side, Independent Phase
        852040 - Time Domain Smoothing
        852041 - Preserve Formants, Time Domain Smoothing
        852042 - Mid/Side, Time Domain Smoothing
        852043 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852044 - Independent Phase, Time Domain Smoothing
        852045 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852046 - Mid/Side, Independent Phase, Time Domain Smoothing
        852047 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Percussive
        852048 - nothing
        852049 - Preserve Formants
        852050 - Mid/Side
        852051 - Preserve Formants, Mid/Side
        852052 - Independent Phase
        852053 - Preserve Formants, Independent Phase
        852054 - Mid/Side, Independent Phase
        852055 - Preserve Formants, Mid/Side, Independent Phase
        852056 - Time Domain Smoothing
        852057 - Preserve Formants, Time Domain Smoothing
        852058 - Mid/Side, Time Domain Smoothing
        852059 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852060 - Independent Phase, Time Domain Smoothing
        852061 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852062 - Mid/Side, Independent Phase, Time Domain Smoothing
        852063 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Soft
        852064 - nothing
        852065 - Preserve Formants
        852066 - Mid/Side
        852067 - Preserve Formants, Mid/Side
        852068 - Independent Phase
        852069 - Preserve Formants, Independent Phase
        852070 - Mid/Side, Independent Phase
        852071 - Preserve Formants, Mid/Side, Independent Phase
        852072 - Time Domain Smoothing
        852073 - Preserve Formants, Time Domain Smoothing
        852074 - Mid/Side, Time Domain Smoothing
        852075 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852076 - Independent Phase, Time Domain Smoothing
        852077 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852078 - Mid/Side, Independent Phase, Time Domain Smoothing
        852079 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Soft
        852080 - nothing
        852081 - Preserve Formants
        852082 - Mid/Side
        852083 - Preserve Formants, Mid/Side
        852084 - Independent Phase
        852085 - Preserve Formants, Independent Phase
        852086 - Mid/Side, Independent Phase
        852087 - Preserve Formants, Mid/Side, Independent Phase
        852088 - Time Domain Smoothing
        852089 - Preserve Formants, Time Domain Smoothing
        852090 - Mid/Side, Time Domain Smoothing
        852091 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852092 - Independent Phase, Time Domain Smoothing
        852093 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852094 - Mid/Side, Independent Phase, Time Domain Smoothing
        852095 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Soft
        852096 - nothing
        852097 - Preserve Formants
        852098 - Mid/Side
        852099 - Preserve Formants, Mid/Side
        852100 - Independent Phase
        852101 - Preserve Formants, Independent Phase
        852102 - Mid/Side, Independent Phase
        852103 - Preserve Formants, Mid/Side, Independent Phase
        852104 - Time Domain Smoothing
        852105 - Preserve Formants, Time Domain Smoothing
        852106 - Mid/Side, Time Domain Smoothing
        852107 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852108 - Independent Phase, Time Domain Smoothing
        852109 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852110 - Mid/Side, Independent Phase, Time Domain Smoothing
        852111 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Pitch Mode: HighQ
        852112 - nothing
        852113 - Preserve Formants
        852114 - Mid/Side
        852115 - Preserve Formants, Mid/Side
        852116 - Independent Phase
        852117 - Preserve Formants, Independent Phase
        852118 - Mid/Side, Independent Phase
        852119 - Preserve Formants, Mid/Side, Independent Phase
        852120 - Time Domain Smoothing
        852121 - Preserve Formants, Time Domain Smoothing
        852122 - Mid/Side, Time Domain Smoothing
        852123 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852124 - Independent Phase, Time Domain Smoothing
        852125 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852126 - Mid/Side, Independent Phase, Time Domain Smoothing
        852127 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Pitch Mode: HighQ
        852128 - nothing
        852129 - Preserve Formants
        852130 - Mid/Side
        852131 - Preserve Formants, Mid/Side
        852132 - Independent Phase
        852133 - Preserve Formants, Independent Phase
        852134 - Mid/Side, Independent Phase
        852135 - Preserve Formants, Mid/Side, Independent Phase
        852136 - Time Domain Smoothing
        852137 - Preserve Formants, Time Domain Smoothing
        852138 - Mid/Side, Time Domain Smoothing
        852139 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852140 - Independent Phase, Time Domain Smoothing
        852141 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852142 - Mid/Side, Independent Phase, Time Domain Smoothing
        852143 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Pitch Mode: HighQ
        852144 - nothing
        852145 - Preserve Formants
        852146 - Mid/Side
        852147 - Preserve Formants, Mid/Side
        852148 - Independent Phase
        852149 - Preserve Formants, Independent Phase
        852150 - Mid/Side, Independent Phase
        852151 - Preserve Formants, Mid/Side, Independent Phase
        852152 - Time Domain Smoothing
        852153 - Preserve Formants, Time Domain Smoothing
        852154 - Mid/Side, Time Domain Smoothing
        852155 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852156 - Independent Phase, Time Domain Smoothing
        852157 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852158 - Mid/Side, Independent Phase, Time Domain Smoothing
        852159 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Percussive, Pitch Mode: HighQ
        852160 - nothing
        852161 - Preserve Formants
        852162 - Mid/Side
        852163 - Preserve Formants, Mid/Side
        852164 - Independent Phase
        852165 - Preserve Formants, Independent Phase
        852166 - Mid/Side, Independent Phase
        852167 - Preserve Formants, Mid/Side, Independent Phase
        852168 - Time Domain Smoothing
        852169 - Preserve Formants, Time Domain Smoothing
        852170 - Mid/Side, Time Domain Smoothing
        852171 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852172 - Independent Phase, Time Domain Smoothing
        852173 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852174 - Mid/Side, Independent Phase, Time Domain Smoothing
        852175 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Percussive, Pitch Mode: HighQ
        852176 - nothing
        852177 - Preserve Formants
        852178 - Mid/Side
        852179 - Preserve Formants, Mid/Side
        852180 - Independent Phase
        852181 - Preserve Formants, Independent Phase
        852182 - Mid/Side, Independent Phase
        852183 - Preserve Formants, Mid/Side, Independent Phase
        852184 - Time Domain Smoothing
        852185 - Preserve Formants, Time Domain Smoothing
        852186 - Mid/Side, Time Domain Smoothing
        852187 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852188 - Independent Phase, Time Domain Smoothing
        852189 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852190 - Mid/Side, Independent Phase, Time Domain Smoothing
        852191 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Percussive, Pitch Mode: HighQ
        852192 - nothing
        852193 - Preserve Formants
        852194 - Mid/Side
        852195 - Preserve Formants, Mid/Side
        852196 - Independent Phase
        852197 - Preserve Formants, Independent Phase
        852198 - Mid/Side, Independent Phase
        852199 - Preserve Formants, Mid/Side, Independent Phase
        852200 - Time Domain Smoothing
        852201 - Preserve Formants, Time Domain Smoothing
        852202 - Mid/Side, Time Domain Smoothing
        852203 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852204 - Independent Phase, Time Domain Smoothing
        852205 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852206 - Mid/Side, Independent Phase, Time Domain Smoothing
        852207 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Soft, Pitch Mode: HighQ
        852208 - nothing
        852209 - Preserve Formants
        852210 - Mid/Side
        852211 - Preserve Formants, Mid/Side
        852212 - Independent Phase
        852213 - Preserve Formants, Independent Phase
        852214 - Mid/Side, Independent Phase
        852215 - Preserve Formants, Mid/Side, Independent Phase
        852216 - Time Domain Smoothing
        852217 - Preserve Formants, Time Domain Smoothing
        852218 - Mid/Side, Time Domain Smoothing
        852219 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852220 - Independent Phase, Time Domain Smoothing
        852221 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852222 - Mid/Side, Independent Phase, Time Domain Smoothing
        852223 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Soft, Pitch Mode: HighQ
        852224 - nothing
        852225 - Preserve Formants
        852226 - Mid/Side
        852227 - Preserve Formants, Mid/Side
        852228 - Independent Phase
        852229 - Preserve Formants, Independent Phase
        852230 - Mid/Side, Independent Phase
        852231 - Preserve Formants, Mid/Side, Independent Phase
        852232 - Time Domain Smoothing
        852233 - Preserve Formants, Time Domain Smoothing
        852234 - Mid/Side, Time Domain Smoothing
        852235 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852236 - Independent Phase, Time Domain Smoothing
        852237 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852238 - Mid/Side, Independent Phase, Time Domain Smoothing
        852239 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Soft, Pitch Mode: HighQ
        852240 - nothing
        852241 - Preserve Formants
        852242 - Mid/Side
        852243 - Preserve Formants, Mid/Side
        852244 - Independent Phase
        852245 - Preserve Formants, Independent Phase
        852246 - Mid/Side, Independent Phase
        852247 - Preserve Formants, Mid/Side, Independent Phase
        852248 - Time Domain Smoothing
        852249 - Preserve Formants, Time Domain Smoothing
        852250 - Mid/Side, Time Domain Smoothing
        852251 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852252 - Independent Phase, Time Domain Smoothing
        852253 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852254 - Mid/Side, Independent Phase, Time Domain Smoothing
        852255 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Pitch Mode: Consistent
        852256 - nothing
        852257 - Preserve Formants
        852258 - Mid/Side
        852259 - Preserve Formants, Mid/Side
        852260 - Independent Phase
        852261 - Preserve Formants, Independent Phase
        852262 - Mid/Side, Independent Phase
        852263 - Preserve Formants, Mid/Side, Independent Phase
        852264 - Time Domain Smoothing
        852265 - Preserve Formants, Time Domain Smoothing
        852266 - Mid/Side, Time Domain Smoothing
        852267 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852268 - Independent Phase, Time Domain Smoothing
        852269 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852270 - Mid/Side, Independent Phase, Time Domain Smoothing
        852271 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Pitch Mode: Consistent
        852272 - nothing
        852273 - Preserve Formants
        852274 - Mid/Side
        852275 - Preserve Formants, Mid/Side
        852276 - Independent Phase
        852277 - Preserve Formants, Independent Phase
        852278 - Mid/Side, Independent Phase
        852279 - Preserve Formants, Mid/Side, Independent Phase
        852280 - Time Domain Smoothing
        852281 - Preserve Formants, Time Domain Smoothing
        852282 - Mid/Side, Time Domain Smoothing
        852283 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852284 - Independent Phase, Time Domain Smoothing
        852285 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852286 - Mid/Side, Independent Phase, Time Domain Smoothing
        852287 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Pitch Mode: Consistent
        852288 - nothing
        852289 - Preserve Formants
        852290 - Mid/Side
        852291 - Preserve Formants, Mid/Side
        852292 - Independent Phase
        852293 - Preserve Formants, Independent Phase
        852294 - Mid/Side, Independent Phase
        852295 - Preserve Formants, Mid/Side, Independent Phase
        852296 - Time Domain Smoothing
        852297 - Preserve Formants, Time Domain Smoothing
        852298 - Mid/Side, Time Domain Smoothing
        852299 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852300 - Independent Phase, Time Domain Smoothing
        852301 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852302 - Mid/Side, Independent Phase, Time Domain Smoothing
        852303 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Percussive, Pitch Mode: Consistent
        852304 - nothing
        852305 - Preserve Formants
        852306 - Mid/Side
        852307 - Preserve Formants, Mid/Side
        852308 - Independent Phase
        852309 - Preserve Formants, Independent Phase
        852310 - Mid/Side, Independent Phase
        852311 - Preserve Formants, Mid/Side, Independent Phase
        852312 - Time Domain Smoothing
        852313 - Preserve Formants, Time Domain Smoothing
        852314 - Mid/Side, Time Domain Smoothing
        852315 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852316 - Independent Phase, Time Domain Smoothing
        852317 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852318 - Mid/Side, Independent Phase, Time Domain Smoothing
        852319 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Percussive, Pitch Mode: Consistent
        852320 - nothing
        852321 - Preserve Formants
        852322 - Mid/Side
        852323 - Preserve Formants, Mid/Side
        852324 - Independent Phase
        852325 - Preserve Formants, Independent Phase
        852326 - Mid/Side, Independent Phase
        852327 - Preserve Formants, Mid/Side, Independent Phase
        852328 - Time Domain Smoothing
        852329 - Preserve Formants, Time Domain Smoothing
        852330 - Mid/Side, Time Domain Smoothing
        852331 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852332 - Independent Phase, Time Domain Smoothing
        852333 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852334 - Mid/Side, Independent Phase, Time Domain Smoothing
        852335 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Percussive, Pitch Mode: Consistent
        852336 - nothing
        852337 - Preserve Formants
        852338 - Mid/Side
        852339 - Preserve Formants, Mid/Side
        852340 - Independent Phase
        852341 - Preserve Formants, Independent Phase
        852342 - Mid/Side, Independent Phase
        852343 - Preserve Formants, Mid/Side, Independent Phase
        852344 - Time Domain Smoothing
        852345 - Preserve Formants, Time Domain Smoothing
        852346 - Mid/Side, Time Domain Smoothing
        852347 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852348 - Independent Phase, Time Domain Smoothing
        852349 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852350 - Mid/Side, Independent Phase, Time Domain Smoothing
        852351 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Soft, Pitch Mode: Consistent
        852352 - nothing
        852353 - Preserve Formants
        852354 - Mid/Side
        852355 - Preserve Formants, Mid/Side
        852356 - Independent Phase
        852357 - Preserve Formants, Independent Phase
        852358 - Mid/Side, Independent Phase
        852359 - Preserve Formants, Mid/Side, Independent Phase
        852360 - Time Domain Smoothing
        852361 - Preserve Formants, Time Domain Smoothing
        852362 - Mid/Side, Time Domain Smoothing
        852363 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852364 - Independent Phase, Time Domain Smoothing
        852365 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852366 - Mid/Side, Independent Phase, Time Domain Smoothing
        852367 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Soft, Pitch Mode: Consistent
        852368 - nothing
        852369 - Preserve Formants
        852370 - Mid/Side
        852371 - Preserve Formants, Mid/Side
        852372 - Independent Phase
        852373 - Preserve Formants, Independent Phase
        852374 - Mid/Side, Independent Phase
        852375 - Preserve Formants, Mid/Side, Independent Phase
        852376 - Time Domain Smoothing
        852377 - Preserve Formants, Time Domain Smoothing
        852378 - Mid/Side, Time Domain Smoothing
        852379 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852380 - Independent Phase, Time Domain Smoothing
        852381 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852382 - Mid/Side, Independent Phase, Time Domain Smoothing
        852383 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Soft, Pitch Mode: Consistent
        852384 - nothing
        852385 - Preserve Formants
        852386 - Mid/Side
        852387 - Preserve Formants, Mid/Side
        852388 - Independent Phase
        852389 - Preserve Formants, Independent Phase
        852390 - Mid/Side, Independent Phase
        852391 - Preserve Formants, Mid/Side, Independent Phase
        852392 - Time Domain Smoothing
        852393 - Preserve Formants, Time Domain Smoothing
        852394 - Mid/Side, Time Domain Smoothing
        852395 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852396 - Independent Phase, Time Domain Smoothing
        852397 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852398 - Mid/Side, Independent Phase, Time Domain Smoothing
        852399 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Window: Short
        852400 - nothing
        852401 - Preserve Formants
        852402 - Mid/Side
        852403 - Preserve Formants, Mid/Side
        852404 - Independent Phase
        852405 - Preserve Formants, Independent Phase
        852406 - Mid/Side, Independent Phase
        852407 - Preserve Formants, Mid/Side, Independent Phase
        852408 - Time Domain Smoothing
        852409 - Preserve Formants, Time Domain Smoothing
        852410 - Mid/Side, Time Domain Smoothing
        852411 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852412 - Independent Phase, Time Domain Smoothing
        852413 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852414 - Mid/Side, Independent Phase, Time Domain Smoothing
        852415 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Window: Short
        852416 - nothing
        852417 - Preserve Formants
        852418 - Mid/Side
        852419 - Preserve Formants, Mid/Side
        852420 - Independent Phase
        852421 - Preserve Formants, Independent Phase
        852422 - Mid/Side, Independent Phase
        852423 - Preserve Formants, Mid/Side, Independent Phase
        852424 - Time Domain Smoothing
        852425 - Preserve Formants, Time Domain Smoothing
        852426 - Mid/Side, Time Domain Smoothing
        852427 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852428 - Independent Phase, Time Domain Smoothing
        852429 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852430 - Mid/Side, Independent Phase, Time Domain Smoothing
        852431 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Window: Short
        852432 - nothing
        852433 - Preserve Formants
        852434 - Mid/Side
        852435 - Preserve Formants, Mid/Side
        852436 - Independent Phase
        852437 - Preserve Formants, Independent Phase
        852438 - Mid/Side, Independent Phase
        852439 - Preserve Formants, Mid/Side, Independent Phase
        852440 - Time Domain Smoothing
        852441 - Preserve Formants, Time Domain Smoothing
        852442 - Mid/Side, Time Domain Smoothing
        852443 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852444 - Independent Phase, Time Domain Smoothing
        852445 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852446 - Mid/Side, Independent Phase, Time Domain Smoothing
        852447 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Percussive, Window: Short
        852448 - nothing
        852449 - Preserve Formants
        852450 - Mid/Side
        852451 - Preserve Formants, Mid/Side
        852452 - Independent Phase
        852453 - Preserve Formants, Independent Phase
        852454 - Mid/Side, Independent Phase
        852455 - Preserve Formants, Mid/Side, Independent Phase
        852456 - Time Domain Smoothing
        852457 - Preserve Formants, Time Domain Smoothing
        852458 - Mid/Side, Time Domain Smoothing
        852459 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852460 - Independent Phase, Time Domain Smoothing
        852461 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852462 - Mid/Side, Independent Phase, Time Domain Smoothing
        852463 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Percussive, Window: Short
        852464 - nothing
        852465 - Preserve Formants
        852466 - Mid/Side
        852467 - Preserve Formants, Mid/Side
        852468 - Independent Phase
        852469 - Preserve Formants, Independent Phase
        852470 - Mid/Side, Independent Phase
        852471 - Preserve Formants, Mid/Side, Independent Phase
        852472 - Time Domain Smoothing
        852473 - Preserve Formants, Time Domain Smoothing
        852474 - Mid/Side, Time Domain Smoothing
        852475 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852476 - Independent Phase, Time Domain Smoothing
        852477 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852478 - Mid/Side, Independent Phase, Time Domain Smoothing
        852479 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Percussive, Window: Short
        852480 - nothing
        852481 - Preserve Formants
        852482 - Mid/Side
        852483 - Preserve Formants, Mid/Side
        852484 - Independent Phase
        852485 - Preserve Formants, Independent Phase
        852486 - Mid/Side, Independent Phase
        852487 - Preserve Formants, Mid/Side, Independent Phase
        852488 - Time Domain Smoothing
        852489 - Preserve Formants, Time Domain Smoothing
        852490 - Mid/Side, Time Domain Smoothing
        852491 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852492 - Independent Phase, Time Domain Smoothing
        852493 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852494 - Mid/Side, Independent Phase, Time Domain Smoothing
        852495 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Soft, Window: Short
        852496 - nothing
        852497 - Preserve Formants
        852498 - Mid/Side
        852499 - Preserve Formants, Mid/Side
        852500 - Independent Phase
        852501 - Preserve Formants, Independent Phase
        852502 - Mid/Side, Independent Phase
        852503 - Preserve Formants, Mid/Side, Independent Phase
        852504 - Time Domain Smoothing
        852505 - Preserve Formants, Time Domain Smoothing
        852506 - Mid/Side, Time Domain Smoothing
        852507 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852508 - Independent Phase, Time Domain Smoothing
        852509 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852510 - Mid/Side, Independent Phase, Time Domain Smoothing
        852511 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Soft, Window: Short
        852512 - nothing
        852513 - Preserve Formants
        852514 - Mid/Side
        852515 - Preserve Formants, Mid/Side
        852516 - Independent Phase
        852517 - Preserve Formants, Independent Phase
        852518 - Mid/Side, Independent Phase
        852519 - Preserve Formants, Mid/Side, Independent Phase
        852520 - Time Domain Smoothing
        852521 - Preserve Formants, Time Domain Smoothing
        852522 - Mid/Side, Time Domain Smoothing
        852523 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852524 - Independent Phase, Time Domain Smoothing
        852525 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852526 - Mid/Side, Independent Phase, Time Domain Smoothing
        852527 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Soft, Window: Short
        852528 - nothing
        852529 - Preserve Formants
        852530 - Mid/Side
        852531 - Preserve Formants, Mid/Side
        852532 - Independent Phase
        852533 - Preserve Formants, Independent Phase
        852534 - Mid/Side, Independent Phase
        852535 - Preserve Formants, Mid/Side, Independent Phase
        852536 - Time Domain Smoothing
        852537 - Preserve Formants, Time Domain Smoothing
        852538 - Mid/Side, Time Domain Smoothing
        852539 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852540 - Independent Phase, Time Domain Smoothing
        852541 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852542 - Mid/Side, Independent Phase, Time Domain Smoothing
        852543 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Pitch Mode: HighQ, Window: Short
        852544 - nothing
        852545 - Preserve Formants
        852546 - Mid/Side
        852547 - Preserve Formants, Mid/Side
        852548 - Independent Phase
        852549 - Preserve Formants, Independent Phase
        852550 - Mid/Side, Independent Phase
        852551 - Preserve Formants, Mid/Side, Independent Phase
        852552 - Time Domain Smoothing
        852553 - Preserve Formants, Time Domain Smoothing
        852554 - Mid/Side, Time Domain Smoothing
        852555 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852556 - Independent Phase, Time Domain Smoothing
        852557 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852558 - Mid/Side, Independent Phase, Time Domain Smoothing
        852559 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Pitch Mode: HighQ, Window: Short
        852560 - nothing
        852561 - Preserve Formants
        852562 - Mid/Side
        852563 - Preserve Formants, Mid/Side
        852564 - Independent Phase
        852565 - Preserve Formants, Independent Phase
        852566 - Mid/Side, Independent Phase
        852567 - Preserve Formants, Mid/Side, Independent Phase
        852568 - Time Domain Smoothing
        852569 - Preserve Formants, Time Domain Smoothing
        852570 - Mid/Side, Time Domain Smoothing
        852571 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852572 - Independent Phase, Time Domain Smoothing
        852573 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852574 - Mid/Side, Independent Phase, Time Domain Smoothing
        852575 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Pitch Mode: HighQ, Window: Short
        852576 - nothing
        852577 - Preserve Formants
        852578 - Mid/Side
        852579 - Preserve Formants, Mid/Side
        852580 - Independent Phase
        852581 - Preserve Formants, Independent Phase
        852582 - Mid/Side, Independent Phase
        852583 - Preserve Formants, Mid/Side, Independent Phase
        852584 - Time Domain Smoothing
        852585 - Preserve Formants, Time Domain Smoothing
        852586 - Mid/Side, Time Domain Smoothing
        852587 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852588 - Independent Phase, Time Domain Smoothing
        852589 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852590 - Mid/Side, Independent Phase, Time Domain Smoothing
        852591 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Percussive, Pitch Mode: HighQ, Window: Short
        852592 - nothing
        852593 - Preserve Formants
        852594 - Mid/Side
        852595 - Preserve Formants, Mid/Side
        852596 - Independent Phase
        852597 - Preserve Formants, Independent Phase
        852598 - Mid/Side, Independent Phase
        852599 - Preserve Formants, Mid/Side, Independent Phase
        852600 - Time Domain Smoothing
        852601 - Preserve Formants, Time Domain Smoothing
        852602 - Mid/Side, Time Domain Smoothing
        852603 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852604 - Independent Phase, Time Domain Smoothing
        852605 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852606 - Mid/Side, Independent Phase, Time Domain Smoothing
        852607 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Percussive, Pitch Mode: HighQ, Window: Short
        852608 - nothing
        852609 - Preserve Formants
        852610 - Mid/Side
        852611 - Preserve Formants, Mid/Side
        852612 - Independent Phase
        852613 - Preserve Formants, Independent Phase
        852614 - Mid/Side, Independent Phase
        852615 - Preserve Formants, Mid/Side, Independent Phase
        852616 - Time Domain Smoothing
        852617 - Preserve Formants, Time Domain Smoothing
        852618 - Mid/Side, Time Domain Smoothing
        852619 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852620 - Independent Phase, Time Domain Smoothing
        852621 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852622 - Mid/Side, Independent Phase, Time Domain Smoothing
        852623 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Percussive, Pitch Mode: HighQ, Window: Short
        852624 - nothing
        852625 - Preserve Formants
        852626 - Mid/Side
        852627 - Preserve Formants, Mid/Side
        852628 - Independent Phase
        852629 - Preserve Formants, Independent Phase
        852630 - Mid/Side, Independent Phase
        852631 - Preserve Formants, Mid/Side, Independent Phase
        852632 - Time Domain Smoothing
        852633 - Preserve Formants, Time Domain Smoothing
        852634 - Mid/Side, Time Domain Smoothing
        852635 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852636 - Independent Phase, Time Domain Smoothing
        852637 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852638 - Mid/Side, Independent Phase, Time Domain Smoothing
        852639 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Soft, Pitch Mode: HighQ, Window: Short
        852640 - nothing
        852641 - Preserve Formants
        852642 - Mid/Side
        852643 - Preserve Formants, Mid/Side
        852644 - Independent Phase
        852645 - Preserve Formants, Independent Phase
        852646 - Mid/Side, Independent Phase
        852647 - Preserve Formants, Mid/Side, Independent Phase
        852648 - Time Domain Smoothing
        852649 - Preserve Formants, Time Domain Smoothing
        852650 - Mid/Side, Time Domain Smoothing
        852651 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852652 - Independent Phase, Time Domain Smoothing
        852653 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852654 - Mid/Side, Independent Phase, Time Domain Smoothing
        852655 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Soft, Pitch Mode: HighQ, Window: Short
        852656 - nothing
        852657 - Preserve Formants
        852658 - Mid/Side
        852659 - Preserve Formants, Mid/Side
        852660 - Independent Phase
        852661 - Preserve Formants, Independent Phase
        852662 - Mid/Side, Independent Phase
        852663 - Preserve Formants, Mid/Side, Independent Phase
        852664 - Time Domain Smoothing
        852665 - Preserve Formants, Time Domain Smoothing
        852666 - Mid/Side, Time Domain Smoothing
        852667 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852668 - Independent Phase, Time Domain Smoothing
        852669 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852670 - Mid/Side, Independent Phase, Time Domain Smoothing
        852671 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Soft, Pitch Mode: HighQ, Window: Short
        852672 - nothing
        852673 - Preserve Formants
        852674 - Mid/Side
        852675 - Preserve Formants, Mid/Side
        852676 - Independent Phase
        852677 - Preserve Formants, Independent Phase
        852678 - Mid/Side, Independent Phase
        852679 - Preserve Formants, Mid/Side, Independent Phase
        852680 - Time Domain Smoothing
        852681 - Preserve Formants, Time Domain Smoothing
        852682 - Mid/Side, Time Domain Smoothing
        852683 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852684 - Independent Phase, Time Domain Smoothing
        852685 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852686 - Mid/Side, Independent Phase, Time Domain Smoothing
        852687 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Pitch Mode: Consistent, Window: Short
        852688 - nothing
        852689 - Preserve Formants
        852690 - Mid/Side
        852691 - Preserve Formants, Mid/Side
        852692 - Independent Phase
        852693 - Preserve Formants, Independent Phase
        852694 - Mid/Side, Independent Phase
        852695 - Preserve Formants, Mid/Side, Independent Phase
        852696 - Time Domain Smoothing
        852697 - Preserve Formants, Time Domain Smoothing
        852698 - Mid/Side, Time Domain Smoothing
        852699 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852700 - Independent Phase, Time Domain Smoothing
        852701 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852702 - Mid/Side, Independent Phase, Time Domain Smoothing
        852703 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Pitch Mode: Consistent, Window: Short
        852704 - nothing
        852705 - Preserve Formants
        852706 - Mid/Side
        852707 - Preserve Formants, Mid/Side
        852708 - Independent Phase
        852709 - Preserve Formants, Independent Phase
        852710 - Mid/Side, Independent Phase
        852711 - Preserve Formants, Mid/Side, Independent Phase
        852712 - Time Domain Smoothing
        852713 - Preserve Formants, Time Domain Smoothing
        852714 - Mid/Side, Time Domain Smoothing
        852715 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852716 - Independent Phase, Time Domain Smoothing
        852717 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852718 - Mid/Side, Independent Phase, Time Domain Smoothing
        852719 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Pitch Mode: Consistent, Window: Short
        852720 - nothing
        852721 - Preserve Formants
        852722 - Mid/Side
        852723 - Preserve Formants, Mid/Side
        852724 - Independent Phase
        852725 - Preserve Formants, Independent Phase
        852726 - Mid/Side, Independent Phase
        852727 - Preserve Formants, Mid/Side, Independent Phase
        852728 - Time Domain Smoothing
        852729 - Preserve Formants, Time Domain Smoothing
        852730 - Mid/Side, Time Domain Smoothing
        852731 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852732 - Independent Phase, Time Domain Smoothing
        852733 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852734 - Mid/Side, Independent Phase, Time Domain Smoothing
        852735 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Percussive, Pitch Mode: Consistent, Window: Short
        852736 - nothing
        852737 - Preserve Formants
        852738 - Mid/Side
        852739 - Preserve Formants, Mid/Side
        852740 - Independent Phase
        852741 - Preserve Formants, Independent Phase
        852742 - Mid/Side, Independent Phase
        852743 - Preserve Formants, Mid/Side, Independent Phase
        852744 - Time Domain Smoothing
        852745 - Preserve Formants, Time Domain Smoothing
        852746 - Mid/Side, Time Domain Smoothing
        852747 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852748 - Independent Phase, Time Domain Smoothing
        852749 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852750 - Mid/Side, Independent Phase, Time Domain Smoothing
        852751 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Percussive, Pitch Mode: Consistent, Window: Short
        852752 - nothing
        852753 - Preserve Formants
        852754 - Mid/Side
        852755 - Preserve Formants, Mid/Side
        852756 - Independent Phase
        852757 - Preserve Formants, Independent Phase
        852758 - Mid/Side, Independent Phase
        852759 - Preserve Formants, Mid/Side, Independent Phase
        852760 - Time Domain Smoothing
        852761 - Preserve Formants, Time Domain Smoothing
        852762 - Mid/Side, Time Domain Smoothing
        852763 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852764 - Independent Phase, Time Domain Smoothing
        852765 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852766 - Mid/Side, Independent Phase, Time Domain Smoothing
        852767 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Percussive, Pitch Mode: Consistent, Window: Short
        852768 - nothing
        852769 - Preserve Formants
        852770 - Mid/Side
        852771 - Preserve Formants, Mid/Side
        852772 - Independent Phase
        852773 - Preserve Formants, Independent Phase
        852774 - Mid/Side, Independent Phase
        852775 - Preserve Formants, Mid/Side, Independent Phase
        852776 - Time Domain Smoothing
        852777 - Preserve Formants, Time Domain Smoothing
        852778 - Mid/Side, Time Domain Smoothing
        852779 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852780 - Independent Phase, Time Domain Smoothing
        852781 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852782 - Mid/Side, Independent Phase, Time Domain Smoothing
        852783 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Soft, Pitch Mode: Consistent, Window: Short
        852784 - nothing
        852785 - Preserve Formants
        852786 - Mid/Side
        852787 - Preserve Formants, Mid/Side
        852788 - Independent Phase
        852789 - Preserve Formants, Independent Phase
        852790 - Mid/Side, Independent Phase
        852791 - Preserve Formants, Mid/Side, Independent Phase
        852792 - Time Domain Smoothing
        852793 - Preserve Formants, Time Domain Smoothing
        852794 - Mid/Side, Time Domain Smoothing
        852795 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852796 - Independent Phase, Time Domain Smoothing
        852797 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852798 - Mid/Side, Independent Phase, Time Domain Smoothing
        852799 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Soft, Pitch Mode: Consistent, Window: Short
        852800 - nothing
        852801 - Preserve Formants
        852802 - Mid/Side
        852803 - Preserve Formants, Mid/Side
        852804 - Independent Phase
        852805 - Preserve Formants, Independent Phase
        852806 - Mid/Side, Independent Phase
        852807 - Preserve Formants, Mid/Side, Independent Phase
        852808 - Time Domain Smoothing
        852809 - Preserve Formants, Time Domain Smoothing
        852810 - Mid/Side, Time Domain Smoothing
        852811 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852812 - Independent Phase, Time Domain Smoothing
        852813 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852814 - Mid/Side, Independent Phase, Time Domain Smoothing
        852815 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Soft, Pitch Mode: Consistent, Window: Short
        852816 - nothing
        852817 - Preserve Formants
        852818 - Mid/Side
        852819 - Preserve Formants, Mid/Side
        852820 - Independent Phase
        852821 - Preserve Formants, Independent Phase
        852822 - Mid/Side, Independent Phase
        852823 - Preserve Formants, Mid/Side, Independent Phase
        852824 - Time Domain Smoothing
        852825 - Preserve Formants, Time Domain Smoothing
        852826 - Mid/Side, Time Domain Smoothing
        852827 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852828 - Independent Phase, Time Domain Smoothing
        852829 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852830 - Mid/Side, Independent Phase, Time Domain Smoothing
        852831 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Window: Long
        852832 - nothing
        852833 - Preserve Formants
        852834 - Mid/Side
        852835 - Preserve Formants, Mid/Side
        852836 - Independent Phase
        852837 - Preserve Formants, Independent Phase
        852838 - Mid/Side, Independent Phase
        852839 - Preserve Formants, Mid/Side, Independent Phase
        852840 - Time Domain Smoothing
        852841 - Preserve Formants, Time Domain Smoothing
        852842 - Mid/Side, Time Domain Smoothing
        852843 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852844 - Independent Phase, Time Domain Smoothing
        852845 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852846 - Mid/Side, Independent Phase, Time Domain Smoothing
        852847 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Window: Long
        852848 - nothing
        852849 - Preserve Formants
        852850 - Mid/Side
        852851 - Preserve Formants, Mid/Side
        852852 - Independent Phase
        852853 - Preserve Formants, Independent Phase
        852854 - Mid/Side, Independent Phase
        852855 - Preserve Formants, Mid/Side, Independent Phase
        852856 - Time Domain Smoothing
        852857 - Preserve Formants, Time Domain Smoothing
        852858 - Mid/Side, Time Domain Smoothing
        852859 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852860 - Independent Phase, Time Domain Smoothing
        852861 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852862 - Mid/Side, Independent Phase, Time Domain Smoothing
        852863 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Window: Long
        852864 - nothing
        852865 - Preserve Formants
        852866 - Mid/Side
        852867 - Preserve Formants, Mid/Side
        852868 - Independent Phase
        852869 - Preserve Formants, Independent Phase
        852870 - Mid/Side, Independent Phase
        852871 - Preserve Formants, Mid/Side, Independent Phase
        852872 - Time Domain Smoothing
        852873 - Preserve Formants, Time Domain Smoothing
        852874 - Mid/Side, Time Domain Smoothing
        852875 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852876 - Independent Phase, Time Domain Smoothing
        852877 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852878 - Mid/Side, Independent Phase, Time Domain Smoothing
        852879 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Percussive, Window: Long
        852880 - nothing
        852881 - Preserve Formants
        852882 - Mid/Side
        852883 - Preserve Formants, Mid/Side
        852884 - Independent Phase
        852885 - Preserve Formants, Independent Phase
        852886 - Mid/Side, Independent Phase
        852887 - Preserve Formants, Mid/Side, Independent Phase
        852888 - Time Domain Smoothing
        852889 - Preserve Formants, Time Domain Smoothing
        852890 - Mid/Side, Time Domain Smoothing
        852891 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852892 - Independent Phase, Time Domain Smoothing
        852893 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852894 - Mid/Side, Independent Phase, Time Domain Smoothing
        852895 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Percussive, Window: Long
        852896 - nothing
        852897 - Preserve Formants
        852898 - Mid/Side
        852899 - Preserve Formants, Mid/Side
        852900 - Independent Phase
        852901 - Preserve Formants, Independent Phase
        852902 - Mid/Side, Independent Phase
        852903 - Preserve Formants, Mid/Side, Independent Phase
        852904 - Time Domain Smoothing
        852905 - Preserve Formants, Time Domain Smoothing
        852906 - Mid/Side, Time Domain Smoothing
        852907 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852908 - Independent Phase, Time Domain Smoothing
        852909 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852910 - Mid/Side, Independent Phase, Time Domain Smoothing
        852911 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Percussive, Window: Long
        852912 - nothing
        852913 - Preserve Formants
        852914 - Mid/Side
        852915 - Preserve Formants, Mid/Side
        852916 - Independent Phase
        852917 - Preserve Formants, Independent Phase
        852918 - Mid/Side, Independent Phase
        852919 - Preserve Formants, Mid/Side, Independent Phase
        852920 - Time Domain Smoothing
        852921 - Preserve Formants, Time Domain Smoothing
        852922 - Mid/Side, Time Domain Smoothing
        852923 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852924 - Independent Phase, Time Domain Smoothing
        852925 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852926 - Mid/Side, Independent Phase, Time Domain Smoothing
        852927 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Soft, Window: Long
        852928 - nothing
        852929 - Preserve Formants
        852930 - Mid/Side
        852931 - Preserve Formants, Mid/Side
        852932 - Independent Phase
        852933 - Preserve Formants, Independent Phase
        852934 - Mid/Side, Independent Phase
        852935 - Preserve Formants, Mid/Side, Independent Phase
        852936 - Time Domain Smoothing
        852937 - Preserve Formants, Time Domain Smoothing
        852938 - Mid/Side, Time Domain Smoothing
        852939 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852940 - Independent Phase, Time Domain Smoothing
        852941 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852942 - Mid/Side, Independent Phase, Time Domain Smoothing
        852943 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Soft, Window: Long
        852944 - nothing
        852945 - Preserve Formants
        852946 - Mid/Side
        852947 - Preserve Formants, Mid/Side
        852948 - Independent Phase
        852949 - Preserve Formants, Independent Phase
        852950 - Mid/Side, Independent Phase
        852951 - Preserve Formants, Mid/Side, Independent Phase
        852952 - Time Domain Smoothing
        852953 - Preserve Formants, Time Domain Smoothing
        852954 - Mid/Side, Time Domain Smoothing
        852955 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852956 - Independent Phase, Time Domain Smoothing
        852957 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852958 - Mid/Side, Independent Phase, Time Domain Smoothing
        852959 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Soft, Window: Long
        852960 - nothing
        852961 - Preserve Formants
        852962 - Mid/Side
        852963 - Preserve Formants, Mid/Side
        852964 - Independent Phase
        852965 - Preserve Formants, Independent Phase
        852966 - Mid/Side, Independent Phase
        852967 - Preserve Formants, Mid/Side, Independent Phase
        852968 - Time Domain Smoothing
        852969 - Preserve Formants, Time Domain Smoothing
        852970 - Mid/Side, Time Domain Smoothing
        852971 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852972 - Independent Phase, Time Domain Smoothing
        852973 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852974 - Mid/Side, Independent Phase, Time Domain Smoothing
        852975 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Pitch Mode: HighQ, Window: Long
        852976 - nothing
        852977 - Preserve Formants
        852978 - Mid/Side
        852979 - Preserve Formants, Mid/Side
        852980 - Independent Phase
        852981 - Preserve Formants, Independent Phase
        852982 - Mid/Side, Independent Phase
        852983 - Preserve Formants, Mid/Side, Independent Phase
        852984 - Time Domain Smoothing
        852985 - Preserve Formants, Time Domain Smoothing
        852986 - Mid/Side, Time Domain Smoothing
        852987 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852988 - Independent Phase, Time Domain Smoothing
        852989 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852990 - Mid/Side, Independent Phase, Time Domain Smoothing
        852991 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Pitch Mode: HighQ, Window: Long
        852992 - nothing
        852993 - Preserve Formants
        852994 - Mid/Side
        852995 - Preserve Formants, Mid/Side
        852996 - Independent Phase
        852997 - Preserve Formants, Independent Phase
        852998 - Mid/Side, Independent Phase
        852999 - Preserve Formants, Mid/Side, Independent Phase
        853000 - Time Domain Smoothing
        853001 - Preserve Formants, Time Domain Smoothing
        853002 - Mid/Side, Time Domain Smoothing
        853003 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853004 - Independent Phase, Time Domain Smoothing
        853005 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853006 - Mid/Side, Independent Phase, Time Domain Smoothing
        853007 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Pitch Mode: HighQ, Window: Long
        853008 - nothing
        853009 - Preserve Formants
        853010 - Mid/Side
        853011 - Preserve Formants, Mid/Side
        853012 - Independent Phase
        853013 - Preserve Formants, Independent Phase
        853014 - Mid/Side, Independent Phase
        853015 - Preserve Formants, Mid/Side, Independent Phase
        853016 - Time Domain Smoothing
        853017 - Preserve Formants, Time Domain Smoothing
        853018 - Mid/Side, Time Domain Smoothing
        853019 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853020 - Independent Phase, Time Domain Smoothing
        853021 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853022 - Mid/Side, Independent Phase, Time Domain Smoothing
        853023 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Percussive, Pitch Mode: HighQ, Window: Long
        853024 - nothing
        853025 - Preserve Formants
        853026 - Mid/Side
        853027 - Preserve Formants, Mid/Side
        853028 - Independent Phase
        853029 - Preserve Formants, Independent Phase
        853030 - Mid/Side, Independent Phase
        853031 - Preserve Formants, Mid/Side, Independent Phase
        853032 - Time Domain Smoothing
        853033 - Preserve Formants, Time Domain Smoothing
        853034 - Mid/Side, Time Domain Smoothing
        853035 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853036 - Independent Phase, Time Domain Smoothing
        853037 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853038 - Mid/Side, Independent Phase, Time Domain Smoothing
        853039 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Percussive, Pitch Mode: HighQ, Window: Long
        853040 - nothing
        853041 - Preserve Formants
        853042 - Mid/Side
        853043 - Preserve Formants, Mid/Side
        853044 - Independent Phase
        853045 - Preserve Formants, Independent Phase
        853046 - Mid/Side, Independent Phase
        853047 - Preserve Formants, Mid/Side, Independent Phase
        853048 - Time Domain Smoothing
        853049 - Preserve Formants, Time Domain Smoothing
        853050 - Mid/Side, Time Domain Smoothing
        853051 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853052 - Independent Phase, Time Domain Smoothing
        853053 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853054 - Mid/Side, Independent Phase, Time Domain Smoothing
        853055 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Percussive, Pitch Mode: HighQ, Window: Long
        853056 - nothing
        853057 - Preserve Formants
        853058 - Mid/Side
        853059 - Preserve Formants, Mid/Side
        853060 - Independent Phase
        853061 - Preserve Formants, Independent Phase
        853062 - Mid/Side, Independent Phase
        853063 - Preserve Formants, Mid/Side, Independent Phase
        853064 - Time Domain Smoothing
        853065 - Preserve Formants, Time Domain Smoothing
        853066 - Mid/Side, Time Domain Smoothing
        853067 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853068 - Independent Phase, Time Domain Smoothing
        853069 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853070 - Mid/Side, Independent Phase, Time Domain Smoothing
        853071 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Soft, Pitch Mode: HighQ, Window: Long
        853072 - nothing
        853073 - Preserve Formants
        853074 - Mid/Side
        853075 - Preserve Formants, Mid/Side
        853076 - Independent Phase
        853077 - Preserve Formants, Independent Phase
        853078 - Mid/Side, Independent Phase
        853079 - Preserve Formants, Mid/Side, Independent Phase
        853080 - Time Domain Smoothing
        853081 - Preserve Formants, Time Domain Smoothing
        853082 - Mid/Side, Time Domain Smoothing
        853083 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853084 - Independent Phase, Time Domain Smoothing
        853085 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853086 - Mid/Side, Independent Phase, Time Domain Smoothing
        853087 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Soft, Pitch Mode: HighQ, Window: Long
        853088 - nothing
        853089 - Preserve Formants
        853090 - Mid/Side
        853091 - Preserve Formants, Mid/Side
        853092 - Independent Phase
        853093 - Preserve Formants, Independent Phase
        853094 - Mid/Side, Independent Phase
        853095 - Preserve Formants, Mid/Side, Independent Phase
        853096 - Time Domain Smoothing
        853097 - Preserve Formants, Time Domain Smoothing
        853098 - Mid/Side, Time Domain Smoothing
        853099 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853100 - Independent Phase, Time Domain Smoothing
        853101 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853102 - Mid/Side, Independent Phase, Time Domain Smoothing
        853103 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Soft, Pitch Mode: HighQ, Window: Long
        853104 - nothing
        853105 - Preserve Formants
        853106 - Mid/Side
        853107 - Preserve Formants, Mid/Side
        853108 - Independent Phase
        853109 - Preserve Formants, Independent Phase
        853110 - Mid/Side, Independent Phase
        853111 - Preserve Formants, Mid/Side, Independent Phase
        853112 - Time Domain Smoothing
        853113 - Preserve Formants, Time Domain Smoothing
        853114 - Mid/Side, Time Domain Smoothing
        853115 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853116 - Independent Phase, Time Domain Smoothing
        853117 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853118 - Mid/Side, Independent Phase, Time Domain Smoothing
        853119 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Pitch Mode: Consistent, Window: Long
        853120 - nothing
        853121 - Preserve Formants
        853122 - Mid/Side
        853123 - Preserve Formants, Mid/Side
        853124 - Independent Phase
        853125 - Preserve Formants, Independent Phase
        853126 - Mid/Side, Independent Phase
        853127 - Preserve Formants, Mid/Side, Independent Phase
        853128 - Time Domain Smoothing
        853129 - Preserve Formants, Time Domain Smoothing
        853130 - Mid/Side, Time Domain Smoothing
        853131 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853132 - Independent Phase, Time Domain Smoothing
        853133 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853134 - Mid/Side, Independent Phase, Time Domain Smoothing
        853135 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Pitch Mode: Consistent, Window: Long
        853136 - nothing
        853137 - Preserve Formants
        853138 - Mid/Side
        853139 - Preserve Formants, Mid/Side
        853140 - Independent Phase
        853141 - Preserve Formants, Independent Phase
        853142 - Mid/Side, Independent Phase
        853143 - Preserve Formants, Mid/Side, Independent Phase
        853144 - Time Domain Smoothing
        853145 - Preserve Formants, Time Domain Smoothing
        853146 - Mid/Side, Time Domain Smoothing
        853147 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853148 - Independent Phase, Time Domain Smoothing
        853149 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853150 - Mid/Side, Independent Phase, Time Domain Smoothing
        853151 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Pitch Mode: Consistent, Window: Long
        853152 - nothing
        853153 - Preserve Formants
        853154 - Mid/Side
        853155 - Preserve Formants, Mid/Side
        853156 - Independent Phase
        853157 - Preserve Formants, Independent Phase
        853158 - Mid/Side, Independent Phase
        853159 - Preserve Formants, Mid/Side, Independent Phase
        853160 - Time Domain Smoothing
        853161 - Preserve Formants, Time Domain Smoothing
        853162 - Mid/Side, Time Domain Smoothing
        853163 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853164 - Independent Phase, Time Domain Smoothing
        853165 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853166 - Mid/Side, Independent Phase, Time Domain Smoothing
        853167 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Percussive, Pitch Mode: Consistent, Window: Long
        853168 - nothing
        853169 - Preserve Formants
        853170 - Mid/Side
        853171 - Preserve Formants, Mid/Side
        853172 - Independent Phase
        853173 - Preserve Formants, Independent Phase
        853174 - Mid/Side, Independent Phase
        853175 - Preserve Formants, Mid/Side, Independent Phase
        853176 - Time Domain Smoothing
        853177 - Preserve Formants, Time Domain Smoothing
        853178 - Mid/Side, Time Domain Smoothing
        853179 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853180 - Independent Phase, Time Domain Smoothing
        853181 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853182 - Mid/Side, Independent Phase, Time Domain Smoothing
        853183 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Percussive, Pitch Mode: Consistent, Window: Long
        853184 - nothing
        853185 - Preserve Formants
        853186 - Mid/Side
        853187 - Preserve Formants, Mid/Side
        853188 - Independent Phase
        853189 - Preserve Formants, Independent Phase
        853190 - Mid/Side, Independent Phase
        853191 - Preserve Formants, Mid/Side, Independent Phase
        853192 - Time Domain Smoothing
        853193 - Preserve Formants, Time Domain Smoothing
        853194 - Mid/Side, Time Domain Smoothing
        853195 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853196 - Independent Phase, Time Domain Smoothing
        853197 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853198 - Mid/Side, Independent Phase, Time Domain Smoothing
        853199 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Percussive, Pitch Mode: Consistent, Window: Long
        853200 - nothing
        853201 - Preserve Formants
        853202 - Mid/Side
        853203 - Preserve Formants, Mid/Side
        853204 - Independent Phase
        853205 - Preserve Formants, Independent Phase
        853206 - Mid/Side, Independent Phase
        853207 - Preserve Formants, Mid/Side, Independent Phase
        853208 - Time Domain Smoothing
        853209 - Preserve Formants, Time Domain Smoothing
        853210 - Mid/Side, Time Domain Smoothing
        853211 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853212 - Independent Phase, Time Domain Smoothing
        853213 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853214 - Mid/Side, Independent Phase, Time Domain Smoothing
        853215 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Soft, Pitch Mode: Consistent, Window: Long
        853216 - nothing
        853217 - Preserve Formants
        853218 - Mid/Side
        853219 - Preserve Formants, Mid/Side
        853220 - Independent Phase
        853221 - Preserve Formants, Independent Phase
        853222 - Mid/Side, Independent Phase
        853223 - Preserve Formants, Mid/Side, Independent Phase
        853224 - Time Domain Smoothing
        853225 - Preserve Formants, Time Domain Smoothing
        853226 - Mid/Side, Time Domain Smoothing
        853227 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853228 - Independent Phase, Time Domain Smoothing
        853229 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853230 - Mid/Side, Independent Phase, Time Domain Smoothing
        853231 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Soft, Pitch Mode: Consistent, Window: Long
        853232 - nothing
        853233 - Preserve Formants
        853234 - Mid/Side
        853235 - Preserve Formants, Mid/Side
        853236 - Independent Phase
        853237 - Preserve Formants, Independent Phase
        853238 - Mid/Side, Independent Phase
        853239 - Preserve Formants, Mid/Side, Independent Phase
        853240 - Time Domain Smoothing
        853241 - Preserve Formants, Time Domain Smoothing
        853242 - Mid/Side, Time Domain Smoothing
        853243 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853244 - Independent Phase, Time Domain Smoothing
        853245 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853246 - Mid/Side, Independent Phase, Time Domain Smoothing
        853247 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Soft, Pitch Mode: Consistent, Window: Long
        853248 - nothing
        853249 - Preserve Formants
        853250 - Mid/Side
        853251 - Preserve Formants, Mid/Side
        853252 - Independent Phase
        853253 - Preserve Formants, Independent Phase
        853254 - Mid/Side, Independent Phase
        853255 - Preserve Formants, Mid/Side, Independent Phase
        853256 - Time Domain Smoothing
        853257 - Preserve Formants, Time Domain Smoothing
        853258 - Mid/Side, Time Domain Smoothing
        853259 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853260 - Independent Phase, Time Domain Smoothing
        853261 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853262 - Mid/Side, Independent Phase, Time Domain Smoothing
        853263 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
integer def_pitch_mode_state the default pitch mode
integer stretch_marker_mode the stretch marker mode 0, Balanced 1, Tonal-optimized 2, Transient-optimized 3, No pre-echo reduction



^ Reaper version 5.40 Ultraschall version 4.00GetProject_EnvAttach

Functioncall:
Lua: integer env_attach = ultraschall.GetProject_EnvAttach(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the EnvAttach-state from an RPP-Projectfile or a ProjectStateChunk.

It's the entry ENVATTACH

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path of the rpp-project-file; nil, use parameter ProjectStateChunk instead
string ProjectStateChunk a projectstatechunk to read the value from; only used, projectfilename_with_path is nil

Returnvalues:
integer env_attach the env-attach state



^ Reaper version 5.95 Ultraschall version 4.00GetProject_Extensions

Functioncall:
Lua: string ExtensionsStateChunk = ultraschall.GetProject_Extensions(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

returns the Extensions-settings-StateChunk, that holds tempo-settings of the master.

It's the entry <EXTENSIONS ... >

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the extension-statechunk; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
string ExtensionsStateChunk the statechunk of the Extensions-settings



^ Reaper version 5.40 Ultraschall version 4.00GetProject_Feedback

Functioncall:
Lua: integer feedback_state = ultraschall.GetProject_Feedback(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the GetProject_Feedback-state from an RPP-Projectfile or a ProjectStateChunk.

It's the entry FEEDBACK

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
integer feedback_state feedback-state



^ Reaper version 5.40 Ultraschall version 4.00GetProject_GetMarker

Functioncall:
Lua: boolean retval, integer shownnumber, number markerposition, string markertitle, integer markercolor = ultraschall.GetProject_GetMarker(string projectfilename_with_path, integer idx)

Description:

returns the information of the marker idx in a projectfile.

It's the entry MARKER

returns false in case of error

Parameters:
string projectfilename_with_path the projectfilename from where to get the marker
integer idx the number of the marker, you want to have the information of

Returnvalues:
boolean retval true, in case of success; false in case of failure
integer shownnumber the number that is shown with the marker in the arrange-view
number markerposition the position of the marker in seconds
string markertitle the name of the marker. "" if no name is given.
integer markercolor the colorvalue of the marker



^ Reaper version 5.40 Ultraschall version 4.00GetProject_GetRegion

Functioncall:
Lua: boolean retval, integer shownnumber, number start_of_region, number end_of_region, string regionname, integer regioncolor = ultraschall.GetProject_GetRegion(string projectfilename_with_path, integer idx)

Description:

returns the information of the region idx in a projectfile.

It's the entry MARKER

returns false in case of error

Parameters:
string projectfilename_with_path the projectfilename from where to get the region
integer idx the number of the marker, you want to have the information of

Returnvalues:
boolean retval true, in case of success; false in case of failure
integer shownnumber the number that is shown with the region in the arrange-view
number start_of_region the startposition of the region in seconds
number end_of_region the endposition of the region in seconds
string regionname the name of the region. "" if no name is given.
integer regioncolor the colorvalue of the region



^ Reaper version 5.95 Ultraschall version 4.00GetProject_GlobalAuto

Functioncall:
Lua: integer globalauto_state = ultraschall.GetProject_GlobalAuto(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

returns the global-automation-settings of the project.

It's the entry GLOBAL_AUTO

returns nil in case of an error or if the setting isn't existing

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the global-automation-state; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
integer globalauto_state the global automation override state, this sets the same automation mode to all tracks! -1, No global automation override, automation-mode will be set by track 0, trim/read mode 1, read mode 2, touch mode 3, write mode 4, latch mode 5, latch preview mode 6, bypass all automation



^ Reaper version 5.40 Ultraschall version 4.00GetProject_Grid

Functioncall:
Lua: integer gridstate1, integer gridstate2, number gridstate3, integer gridstate4, number gridstate5, integer gridstate6, integer gridstate7, number gridstate8 = ultraschall.GetProject_Grid(string projectfilename_with_path)

Description:

Returns the grid-state from an RPP-Projectfile or a ProjectStateChunk.

It's the entry GRID

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path of the rpp-project-file

Returnvalues:
integer gridstate1 gridstate1
integer gridstate2 gridstate2
number gridstate3 gridstate3
integer gridstate4 gridstate4
number gridstate5 gridstate5
integer gridstate6 gridstate6
integer gridstate7 gridstate7
number gridstate8 gridstate8



^ Reaper version 5.95 Ultraschall version 4.00GetProject_GroupDisabled

Functioncall:
Lua: integer disabled1, integer disabled2 = ultraschall.GetProject_GroupDisabled(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

returns the group-disabled-stated, of the master-track of the project.

It's the entry GROUPS_DISABLED

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the groups-disabled-state; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
integer disabled1 the disabled groups; it is a bitfield, with &1 for group 1; &32 for group 32; if it's set, the accompanying group is disabled
integer disabled2 the disabled groups_high; it is a bitfield, with &1 for group 33; &32 for group 64; if it's set, the accompanying group is disabled



^ Reaper version 5.975 Ultraschall version 4.00GetProject_GroupName

Functioncall:
Lua: string groupname = ultraschall.GetProject_GroupName(string projectfilename_with_path, integer idx, optional string ProjectStateChunk)

Description:

Returns the name associated to a specific group of items. There can be more than one!

It is the GROUP-entry in the root of the ProjectStateChunk.

Returns nil in case of error or if no such entry exists.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
integer idx the index of the item-group, whose name you want to know
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
string groupname the associated groupname of the itemgroup; nil, no such group or no name is given(default Group idx)



^ Reaper version 5.40 Ultraschall version 4.00GetProject_GroupOverride

Functioncall:
Lua: integer group_override1, integer group_override2, integer group_override3 = ultraschall.GetProject_GroupOverride(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the group-override-state from an RPP-Projectfile or a ProjectStateChunk.

It's the entry GROUPOVERRIDE

Returns nil in case of error or if no such entry exists.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
integer group_override1 the group-override state
integer track_group_enabled the track_group_enabled-setting, as set in the context-menu of the Master-Track; 1, checked; 0, unchecked
integer group_override3 the group-override state



^ Reaper version 5.40 Ultraschall version 4.00GetProject_HorizontalZoom

Functioncall:
Lua: number hzoom, integer hzoomscrollpos, integer scrollbarfactor = ultraschall.GetProject_HorizontalZoom(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the horizontal-zoom-state from an RPP-Projectfile or a ProjectStateChunk.
Keep in mind, that hzoomscrollpos and scrollbarfactor depend on each other. hzoomscrollpos is a smaller positioning-unit, while scrollbarfactor is the bigger positioning-unit.
Experiment with it to get an idea.

It's the entry ZOOM

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
number hzoom HorizontalZoomfactor, 0.007 to 1000000
integer hzoomscrollpos horizontalscrollbarposition - 0 - 4294967296
integer scrollbarfactor 0 to 500837, counts up, when maximum hzoomscrollpos overflows



^ Reaper version 5.40 Ultraschall version 4.00GetProject_ItemMixBehavior

Functioncall:
Lua: integer item_mix_behav_state = ultraschall.GetProject_ItemMixBehavior(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the item mix behavior, as set in the project-settings, from an rpp-project-file or a ProjectStateChunk.
It's the entry ITEMMIX

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
integer item_mix_behav_state item mix behavior 0 - Enclosed items replace enclosing items 1 - Items always mix 2 - Items always replace earlier items



^ Reaper version 5.95 Ultraschall version 4.00GetProject_Lock

Functioncall:
Lua: integer lock_state = ultraschall.GetProject_Lock(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

returns the individual lock-settings of the project, as set in menu Options -> Locking -> Locking Settings

It's the entry LOCK
It is the one before(!) any
It is a bitfield, containing numerous settings.

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the lock-state; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
integer lock_state the lock-state, which is a bitfield &1 - Time selection &2 - Items (full) &4 - Track envelopes &8 - Markers &16 - Regions &32 - Time signature markers &64 - Items (prevent left/right movement) &128 - Items (prevent up/down movement) &256 - Item edges &512 - Item fade/volume handles &1024 - Loop points locked &2048 - Item envelopes &4096 - Item stretch markers &16384 - Enable locking



^ Reaper version 5.40 Ultraschall version 4.00GetProject_Loop

Functioncall:
Lua: integer loopbutton_state = ultraschall.GetProject_Loop(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the loop-button-state from an RPP-Projectfile or a ProjectStateChunk.

It's the entry LOOP

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
integer loop_mode loopbutton-state, 0 - off, 1 - on



^ Reaper version 5.40 Ultraschall version 4.00GetProject_LoopGran

Functioncall:
Lua: integer loopgran_state1, number loopgran_state2 = ultraschall.GetProject_LoopGran(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the loop_gran-state from an RPP-Projectfile or a ProjectStateChunk.

It's the entry LOOPGRAN

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
integer loopgran_state1 loopgran_state1
number loopgran_state2 loopgran_state2



^ Reaper version 6.11 Ultraschall version 4.1GetProject_MarkersAndRegions

Functioncall:
Lua: integer markerregioncount, integer NumMarker, integer Numregions, array Markertable = ultraschall.GetProject_MarkersAndRegions(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the markers and regions from an RPP-Projectfile or a ProjectStateChunk.
Doe not return TimeSignature-markers(!)
Returns nil in case of error or if no such entry exists.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
integer markerregioncount the number of markers and regions in the projectfile/ProjectStateChunk
array markertable an array with all elements of markers/regions markertable has the following entries: markertable[id][1] = boolean isrgn - true, marker is a region; false, marker is a normal marker markertable[id][2] = number pos - the startposition of the marker/region markertable[id][3] = number rgnend - the endposition of a region; 0, if it's a marker markertable[id][4] = string name - the name of the marker/region markertable[id][5] = integer markrgnindexnumber - the shown number of the region/marker markertable[id][6] = integer color - the color-value of the marker markertable[id][7] = string guid - the guid of the marker markertable[id][8] = if a region: true, region is selected; false, region is not selected markertable[id][9] = if a region: true, region-render-matrix Master mix is selected; false, region-render-matrix Master mix is unselected markertable[id][10]= if a region: true, region-render-matrix All tracks is selected; false, region-render-matrix All tracks is unselected
MarkerArray[MarkerCount][8]=tonumber(isrgn)&8==8 - is region selected?
MarkerArray[MarkerCount][9]=tonumber(isrgn)&4==4 - is region-matrix-mastermix selected?
MarkerArray[MarkerCount][10]=tonumber(isrgn)&2==2 - is region-matrix-All tracks selected?



^ Reaper version 5.95 Ultraschall version 4.00GetProject_MasterAutomode

Functioncall:
Lua: integer automode = ultraschall.GetProject_MasterAutomode(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

returns the automation-mode of the master-track of the project, as set in the "Envelopes for Master Track"-dialog or the context-menu for the Master Track -> Set track automation mode -> ...

It's the entry MASTERAUTOMODE

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the master-automation-mode; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
integer automode the automation-mode, as set in the Envelopes for Master Track 0, Trim/Read 1, Read 2, Touch 3, Write 4, Latch 5, Latch Preview



^ Reaper version 5.95 Ultraschall version 4.00GetProject_MasterDualPanEnv2StateChunk

Functioncall:
Lua: string MasterDualPanEnv2StateChunk = ultraschall.GetProject_MasterDualPanEnv2StateChunk(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

returns the Master-DualPanEnv2-StateChunk, that holds master-DualPanEnv2-settings of the master.

It's the entry <MASTERDUALPANENV2 ... >

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the master-dualpan-env2-statechunk; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
string MasterDualPanEnvStateChunk the statechunk of the Master-DualPan-Env-state



^ Reaper version 5.95 Ultraschall version 4.00GetProject_MasterDualPanEnvL2StateChunk

Functioncall:
Lua: string MasterDualPanEnvL2StateChunk = ultraschall.GetProject_MasterDualPanEnvL2StateChunk(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

returns the Master-Dual-Pan-EnvL2-StateChunk, that holds Master-FX-Dual-Pan-EnvL2-settings of the master.

It's the entry <MASTERDUALPANENVL2 ... >

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the master-dualpan-envL2-statechunk; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
string MasterDualPanEnvL2StateChunk the statechunk of the Master-DualPan-EnvL2-state



^ Reaper version 5.95 Ultraschall version 4.00GetProject_MasterDualPanEnvLStateChunk

Functioncall:
Lua: string MasterDualPanEnvLStateChunk = ultraschall.GetProject_MasterDualPanEnvLStateChunk(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

returns the Master-DualPan-EnvL-StateChunk, that holds Master-DualPan-EnvL-settings of the master.

It's the entry <MASTERDUALPANENVL ... >

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the master-dualpan-envL-statechunk; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
string MasterDualPanEnvLStateChunk the statechunk of the Master-DualPan-EnvL-state



^ Reaper version 5.95 Ultraschall version 4.00GetProject_MasterDualPanEnvStateChunk

Functioncall:
Lua: string MasterDualPanEnvStateChunk = ultraschall.GetProject_MasterDualPanEnvStateChunk(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

returns the Master-DualPanEnv-StateChunk, that holds MasterDualPanEnv-settings of the master.

It's the entry <MASTERDUALPANENV ... >

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the master-dualpan-env-statechunk; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
string MasterDualPanEnvStateChunk the statechunk of the Master-DualPan-Env-state



^ Reaper version 5.95 Ultraschall version 4.00GetProject_MasterFXByp

Functioncall:
Lua: integer fx_byp_state = ultraschall.GetProject_MasterFXByp(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

returns the fx-bypass-state of the master-track of the project.

It's the entry MASTER_FX

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the master-fx-bypass-state; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
integer fx_byp_state the fx-bypass-state; 0, master-track-fx bypassed; 1, master-track-fx normal



^ Reaper version 5.95 Ultraschall version 4.00GetProject_MasterFXListStateChunk

Functioncall:
Lua: string MasterFXListStateChunk = ultraschall.GetProject_MasterFXListStateChunk(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

returns the Master-FX_List-StateChunk, that holds Master-FX-settings for the window as well as the FX themselves, of the master.

It's the entry <MASTERFXLIST ... >

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the master-fxlist-statechunk; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
string MasterFXListStateChunk the statechunk of the Master-FX-list



^ Reaper version 5.40 Ultraschall version 4.00GetProject_MasterGroupFlagsHighState

Functioncall:
Lua: integer GroupState_as_Flags, array IndividualGroupState_Flags = ultraschall.GetProject_MasterGroupFlagsHighState(string projectfilename_with_path, optional stirng ProjectStateChunk)

Description:

returns the state of the group-high-flags for the Master-Track, as set in the menu Track Grouping Parameters; from an rpp-projectfile or a ProjectStateChunk.

Returns a 23bit flagvalue as well as an array with 32 individual 23bit-flagvalues. You must use bitoperations to get the individual values.

You can reach the Group-Flag-Settings in the context-menu of a track.

The groups_bitfield_table contains up to 23 entries. Every entry represents one of the checkboxes in the Track grouping parameters-dialog

Each entry is a bitfield, that represents the groups, in which this flag is set to checked or unchecked.

So if you want to get Volume Master(table entry 1) to check if it's set in Group 1(2^0=1) and 3(2^2=4):
  group1=groups_bitfield_table[1]&1
  group2=groups_bitfield_table[1]&4

The following flags(and their accompanying array-entry-index) are available:
                       1 - Volume Master
                       2 - Volume Slave
                       3 - Pan Master
                       4 - Pan Slave
                       5 - Mute Master
                       6 - Mute Slave
                       7 - Solo Master
                       8 - Solo Slave
                       9 - Record Arm Master
                       10 - Record Arm Slave
                       11 - Polarity/Phase Master
                       12 - Polarity/Phase Slave
                       13 - Automation Mode Master
                       14 - Automation Mode Slave
                       15 - Reverse Volume
                       16 - Reverse Pan
                       17 - Do not master when slaving
                       18 - Reverse Width
                       19 - Width Master
                       20 - Width Slave
                       21 - VCA Master
                       22 - VCA Slave
                       23 - VCA pre-FX slave

The GroupState_as_Flags-bitfield is a hint, if a certain flag is set in any of the groups. So, if you want to know, if VCA Master is set in any group, check if flag &1048576 (2^20) is set to 1048576.

This function will work only for Groups 1 to 32. To get Groups 33 to 64, use GetTrackGroupFlags_HighState instead!

It's the entry MASTER_GROUP_FLAGS_HIGH

returns -1 in case of failure

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the groupshigh-state-state; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
integer GroupState_as_Flags returns a flagvalue with 23 bits, that tells you, which grouping-flag is set in at least one of the 32 groups available. returns -1 in case of failure the following flags are available: 2^0 - Volume Master 2^1 - Volume Slave 2^2 - Pan Master 2^3 - Pan Slave 2^4 - Mute Master 2^5 - Mute Slave 2^6 - Solo Master 2^7 - Solo Slave 2^8 - Record Arm Master 2^9 - Record Arm Slave 2^10 - Polarity/Phase Master 2^11 - Polarity/Phase Slave 2^12 - Automation Mode Master 2^13 - Automation Mode Slave 2^14 - Reverse Volume 2^15 - Reverse Pan 2^16 - Do not master when slaving 2^17 - Reverse Width 2^18 - Width Master 2^19 - Width Slave 2^20 - VCA Master 2^21 - VCA Slave 2^22 - VCA pre-FX slave
array IndividualGroupState_Flags returns an array with 23 entries. Every entry represents one of the GroupState_as_Flags, but it's value is a flag, that describes, in which of the 32 Groups a certain flag is set. e.g. If Volume Master is set only in Group 1, entry 1 in the array will be set to 1. If Volume Master is set on Group 2 and Group 4, the first entry in the array will be set to 10. refer to the upper GroupState_as_Flags list to see, which entry in the array is for which set flag, e.g. array[22] is VCA pre-F slave, array[16] is Do not master when slaving, etc As said before, the values in each entry is a flag, that tells you, which of the groups is set with a certain flag. The following flags determine, in which group a certain flag is set: 2^0 - Group 1 2^1 - Group 2 2^2 - Group 3 2^3 - Group 4 ... 2^30 - Group 31 2^31 - Group 32



^ Reaper version 5.40 Ultraschall version 4.00GetProject_MasterGroupFlagsState

Functioncall:
Lua: integer GroupState_as_Flags, array IndividualGroupState_Flags = ultraschall.GetProject_MasterGroupFlagsState(string projectfilename_with_path, optional stirng ProjectStateChunk)

Description:

returns the state of the group-flags for the Master-Track, as set in the menu Track Grouping Parameters; from an rpp-projectfile or a ProjectStateChunk.

Returns a 23bit flagvalue as well as an array with 32 individual 23bit-flagvalues. You must use bitoperations to get the individual values.

You can reach the Group-Flag-Settings in the context-menu of a track.

The groups_bitfield_table contains up to 23 entries. Every entry represents one of the checkboxes in the Track grouping parameters-dialog

Each entry is a bitfield, that represents the groups, in which this flag is set to checked or unchecked.

So if you want to get Volume Master(table entry 1) to check if it's set in Group 1(2^0=1) and 3(2^2=4):
  group1=groups_bitfield_table[1]&1
  group2=groups_bitfield_table[1]&4

The following flags(and their accompanying array-entry-index) are available:
                       1 - Volume Master
                       2 - Volume Slave
                       3 - Pan Master
                       4 - Pan Slave
                       5 - Mute Master
                       6 - Mute Slave
                       7 - Solo Master
                       8 - Solo Slave
                       9 - Record Arm Master
                       10 - Record Arm Slave
                       11 - Polarity/Phase Master
                       12 - Polarity/Phase Slave
                       13 - Automation Mode Master
                       14 - Automation Mode Slave
                       15 - Reverse Volume
                       16 - Reverse Pan
                       17 - Do not master when slaving
                       18 - Reverse Width
                       19 - Width Master
                       20 - Width Slave
                       21 - VCA Master
                       22 - VCA Slave
                       23 - VCA pre-FX slave

The GroupState_as_Flags-bitfield is a hint, if a certain flag is set in any of the groups. So, if you want to know, if VCA Master is set in any group, check if flag &1048576 (2^20) is set to 1048576.

This function will work only for Groups 1 to 32. To get Groups 33 to 64, use GetTrackGroupFlags_HighState instead!

It's the entry MASTER_GROUP_FLAGS

returns -1 in case of failure

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the groups-state-state; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
integer GroupState_as_Flags returns a flagvalue with 23 bits, that tells you, which grouping-flag is set in at least one of the 32 groups available. returns -1 in case of failure the following flags are available: 2^0 - Volume Master 2^1 - Volume Slave 2^2 - Pan Master 2^3 - Pan Slave 2^4 - Mute Master 2^5 - Mute Slave 2^6 - Solo Master 2^7 - Solo Slave 2^8 - Record Arm Master 2^9 - Record Arm Slave 2^10 - Polarity/Phase Master 2^11 - Polarity/Phase Slave 2^12 - Automation Mode Master 2^13 - Automation Mode Slave 2^14 - Reverse Volume 2^15 - Reverse Pan 2^16 - Do not master when slaving 2^17 - Reverse Width 2^18 - Width Master 2^19 - Width Slave 2^20 - VCA Master 2^21 - VCA Slave 2^22 - VCA pre-FX slave
array IndividualGroupState_Flags returns an array with 23 entries. Every entry represents one of the GroupState_as_Flags, but it's value is a flag, that describes, in which of the 32 Groups a certain flag is set. e.g. If Volume Master is set only in Group 1, entry 1 in the array will be set to 1. If Volume Master is set on Group 2 and Group 4, the first entry in the array will be set to 10. refer to the upper GroupState_as_Flags list to see, which entry in the array is for which set flag, e.g. array[22] is VCA pre-F slave, array[16] is Do not master when slaving, etc As said before, the values in each entry is a flag, that tells you, which of the groups is set with a certain flag. The following flags determine, in which group a certain flag is set: 2^0 - Group 1 2^1 - Group 2 2^2 - Group 3 2^3 - Group 4 ... 2^30 - Group 31 2^31 - Group 32



^ Reaper version 5.95 Ultraschall version 4.00GetProject_MasterHWOut

Functioncall:
Lua: integer state1, integer state2, number volume, number pan, integer mute, integer phase, integer output_channels, number state8 = ultraschall.GetProject_MasterHWOut(string projectfilename_with_path, integer idx, optional string ProjectStateChunk)

Description:

returns the HWOut of the master-track of the project, as set in the "Outputs for Master Track"-dialog
There can be multiple HWOuts for the Master-Track.

It's the entry MASTERHWOUT

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the master-hwout-states; nil to use ProjectStateChunk
integer idx the number of the requested HWOut-setting; 1 for the first, etc.
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
integer state1 unknown
integer state2 unknown
number volume volume of the HWOut;
number pan the panning; -1(left), 1(right), 0(center)
integer mute mute-state; 0, unmuted; 1, muted
integer phase phase-inversion; 0, normal phase; 1, inversed phase
integer output_channels -1 - None
0 Stereo Source 1/2
4 Stereo Source 5/6
12 New Channels On Sending Track Stereo Source Channel 13/14
1024 Mono Source 1
1029 Mono Source 6
1030 New Channels On Sending Track Mono Source Channel 7
1032 New Channels On Sending Track Mono Source Channel 9
2048 MultiChannel 4 Channels 1-4
2050 Multichannel 4 Channels 3-6
3072 Multichannel 6 Channels 1-6
number state8 unknown



^ Reaper version 5.95 Ultraschall version 4.00GetProject_MasterHWPanEnvStateChunk

Functioncall:
Lua: string MasterHWPanEnvStateChunk = ultraschall.GetProject_MasterHWPanEnvStateChunk(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

returns the Master-HW-pan-env-StateChunk, that holds Master-pan-env-settings of the master.

It's the entry <MASTERHWPANENV ... >

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the master-HW-pan-env-statechunk; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
string MasterHWPanEnvStateChunk the statechunk of the Master-volenv3-state



^ Reaper version 5.95 Ultraschall version 4.00GetProject_MasterHWVolEnvStateChunk

Functioncall:
Lua: string MasterHWVolEnvStateChunk = ultraschall.GetProject_MasterHWVolEnvStateChunk(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

returns the Master-HWVolEnv-StateChunk, that holds MasterHWVolEnv-settings of the master.

It's the entry <MASTERHWVOLENV ... >

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the master-hwvolenv-statechunk; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
string MasterHWVolEnvStateChunk the statechunk of the HWVolEnv



^ Reaper version 5.95 Ultraschall version 4.00GetProject_MasterMuteSolo

Functioncall:
Lua: integer mute_solo_state = ultraschall.GetProject_MasterMuteSolo(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

returns the mute-solo-state of the master-track of the project.
Has no exclusive-solo/mute-settings!

It's the entry MASTERMUTESOLO

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the master-mute-solo-state; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
integer mute_solo_state the mute-solo-state; it is a bitfield 0, no mute, no solo, Mono mode L+R &1, master-track muted &2, master-track soloed &4, master-track mono-button &8, Mono mode:L &16, Mono mode:R add 24 for Mono mode L-R



^ Reaper version 5.95 Ultraschall version 4.00GetProject_MasterNChans

Functioncall:
Lua: integer number_of_channels, integer peak_metering = ultraschall.GetProject_MasterNChans(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

returns the number of output channels-settings and the vu-peak-metering-settings of the master-track of the project.

It's the entry MASTER_NCH

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the master-nchans; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
integer number_of_channels the number of output-channels, as set in the "Outputs for the Master Channel -> Track Channels"-dialog
integer peak_metering 2, Multichannel peak metering-setting, as set in the "Master VU settings"-dialog



^ Reaper version 5.95 Ultraschall version 4.00GetProject_MasterPanMode

Functioncall:
Lua: integer panmode = ultraschall.GetProject_MasterPanMode(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

returns the master-panmode of the master-track of the project.

It's the entry MASTER_PANMODE

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the master-panmode; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
integer panmode the panmode for the master-track; -1, Project default (Stereo balance) 3, Stereo balance / mono pan(default) 5, Stereo Pan 6, Dual Pan nil, REAPER 3.x balance(deprecated)



^ Reaper version 5.95 Ultraschall version 4.00GetProject_MasterPanMode_Ex

Functioncall:
Lua: string MasterHWPanModeEx_StateChunk = ultraschall.GetProject_MasterPanMode_Ex(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

returns the Master-HW-pan-mode-ex-StateChunk, that holds Master-pan-mode-ex-settings of the master.

It's the entry <MASTER_PANMODE_EX ... >

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the master-HW-pan-env-statechunk; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
string MasterHWPanModeEx_StateChunk the statechunk of the Master-pan-mode-ex



^ Reaper version 5.95 Ultraschall version 4.00GetProject_MasterPlayspeed

Functioncall:
Lua: string MasterPlayspeedStateChunk = ultraschall.GetProject_MasterPlayspeed(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

returns the Master-Playspeed-StateChunk, that holds Playspeed-settings of the master.

It's the entry <MASTERPLAYSPEEDENV ... >

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the master-playspeed-statechunk; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
string MasterPlayspeedStateChunk the statechunk of the MasterPlaySpeed



^ Reaper version 5.95 Ultraschall version 4.00GetProject_MasterSel

Functioncall:
Lua: integer selection = ultraschall.GetProject_MasterSel(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

returns the master-track-selection-state of the master-track of the project.

It's the entry MASTER_SEL

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the master-selection; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
integer selection the selection-state; 0, master-track unselected; 1, master-track selected



^ Reaper version 5.95 Ultraschall version 4.00GetProject_MasterTrackColor

Functioncall:
Lua: integer color = ultraschall.GetProject_MasterTrackColor(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

returns the master-color of the master-track of the project.

It's the entry MASTERPEAKCOL

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the mastertrack-color; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
integer color the color for the master-track



^ Reaper version 5.95 Ultraschall version 4.00GetProject_MasterTrackHeight

Functioncall:
Lua: integer height_state, integer height_lock = ultraschall.GetProject_MasterTrackHeight(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

returns the master-trackheight-states of the master-track of the project.

It's the entry MASTERTRACKHEIGHT

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the mastertrackheight-state; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
integer height_state the current-height of the master-track, from 24 to 260
integer height_lock 0, height-lock is off; 1, height-lock is on



^ Reaper version 5.95 Ultraschall version 4.00GetProject_MasterTrackView

Functioncall:
Lua: integer tcp_visibility, number state2, number state3, number state4, integer state5, integer state6, integer state7, integer state8, integer state9, integer state10 = ultraschall.GetProject_MasterTrackView(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

returns the master-view-state of the master-track of the project or a ProjectStateChunk.

It's the entry MASTERTRACKVIEW

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the trackview-states; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
integer tcp_visibility 0, Master-track is invisible in MCP; 1, Master-track is visible in MCP
number state2 unknown
number state3 unknown
number state4 unknown
integer state5 unknown
integer state6 unknown
integer state7 unknown
integer state8 unknown
integer state9 unknown
integer state10 unknown



^ Reaper version 5.95 Ultraschall version 4.00GetProject_MasterVolEnv2StateChunk

Functioncall:
Lua: string MasterVolEnv2StateChunk = ultraschall.GetProject_MasterVolEnv2StateChunk(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

returns the Master-Vol-Env2-StateChunk, that holds Master-Vol-Env2-settings of the master.

It's the entry <MASTERVOLENV2 ... >

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the master-volenv2-statechunk; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
string MasterVolEnv2StateChunk the statechunk of the Master-volenv2-state



^ Reaper version 5.95 Ultraschall version 4.00GetProject_MasterVolEnv3StateChunk

Functioncall:
Lua: string MasterVolEnv3StateChunk = ultraschall.GetProject_MasterVolEnv3StateChunk(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

returns the Master-Vol-Env3-StateChunk, that holds Master-Vol-Env3-settings of the master.

It's the entry <MASTERVOLENV3 ... >

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the master-volenv3-statechunk; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
string MasterVolEnv3StateChunk the statechunk of the Master-volenv3-state



^ Reaper version 5.95 Ultraschall version 4.00GetProject_MasterVolEnvStateChunk

Functioncall:
Lua: string MasterVolEnvStateChunk = ultraschall.GetProject_MasterVolEnvStateChunk(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

returns the Master-Vol-Env-StateChunk, that holds Master-Vol-Env-settings of the master.

It's the entry <MASTERVOLENV ... >

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the master-volenv-statechunk; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
string MasterVolEnvStateChunk the statechunk of the Master-volenv-state



^ Reaper version 5.95 Ultraschall version 4.00GetProject_MasterVolume

Functioncall:
Lua: number volume, number pan, number pan_law, number state4, number pan_knob3 = ultraschall.GetProject_MasterVolume(string projectfilename_with_path, integer idx, optional string ProjectStateChunk)

Description:

returns the Master-volume-state of the master-track of the project.

It's the entry MASTER_VOLUME

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the master-volume-states; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
number volume Volume; 0(-inf dB) to 3.981071705535(+12dB);1 for 0dB
number pan Panning; -1(left), 1(right), 0(center)
number pan_law Pan_Law, as set in the "Pan Law: Master Track"-dialog; 1(0dB); 0.5(-6.02dB)
number state4 unknown
number pan_knob3 the second pan_knob for pan-mode "Dual Pan"



^ Reaper version 5.95 Ultraschall version 4.00GetProject_MasterWidth

Functioncall:
Lua: number pan_knob_two = ultraschall.GetProject_MasterWidth(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

returns the master-width for the second pan-knob in stereo pan-modes, of the master-track of the project.

It's the entry MASTER_WIDTH

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the masterwidth-state; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
number pan_knob_two -1(left), 1(right), 0(center)



^ Reaper version 5.40 Ultraschall version 4.00GetProject_MaxProjectLength

Functioncall:
Lua: integer limit_project_length, number projectlength_limit = ultraschall.GetProject_MaxProjectLength(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the maximum-project-length from an RPP-Projectfile or a ProjectStateChunk, as set in ProjectSettings->Advanced->
as set in ProjectSettings->ProjectSettings->Project Start Time/Measure.

It's the entry MAXPROJLEN

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
integer limit_project_length checkbox "Limit project length, stop playback/recording at:" - 0 off, 1 on
number projectlength_limit projectlength-limit in seconds



^ Reaper version 6.11 Ultraschall version 4.1GetProject_MetaDataStateChunk

Functioncall:
Lua: string MetaDataStateChunk = ultraschall.GetProject_MetaDataStateChunk(string ProjectStateChunk, optional string ProjectStateChunk)

Description:

returns the Metadata-StateChunk, that holds all Metadata-entries.

It's the entry <RENDER_METADATA ... >

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the projectbay-statechunk; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
string MetaDataStateChunk the statechunk of the metadata



^ Reaper version 5.95 Ultraschall version 4.00GetProject_Metronome

Functioncall:
Lua: string MetronomeStateChunk = ultraschall.GetProject_Metronome(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

returns the Metronome-StateChunk, that holds metronome-settings.

It's the entry <METRONOME ... >

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the metronome-statechunk; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
string MetronomeStateChunk the statechunk of the Metronome



^ Reaper version 5.40 Ultraschall version 4.00GetProject_MixerUIFlags

Functioncall:
Lua: integer state1, integer state2 = ultraschall.GetProject_MixerUIFlags(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the MixerUI-state-flags from an RPP-Projectfile or a ProjectStateChunk.

It's the entry MIXERUIFLAGS

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
integer state1 folders, receives, etc 0 - Show tracks in folders, Auto arrange tracks in mixer 1 - Show normal top level tracks 2 - Show Folders 4 - Group folders to left 8 - Show tracks that have receives 16 - Group tracks that have receives to left 32 - don't show tracks that are in folder 64 - No Autoarrange tracks in mixer 128 - ? 256 - ?
integer state2 master-track, FX, Mixer 0 - Master track in mixer 1 - Don't show multiple rows of tracks, when size permits 2 - Show maximum rows even when tracks would fit in less rows 4 - Master Show on right side of mixer 8 - ? 16 - Show FX inserts when size permits 32 - Show sends when size permits 64 - Show tracks in mixer 128 - Show FX parameters, when size permits 256 - Don't show Master track in mixer



^ Reaper version 5.975 Ultraschall version 4.00GetProject_NumberOfTracks

Functioncall:
Lua: integer number_of_tracks = ultraschall.GetProject_NumberOfTracks(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the number of tracks within an rpp-project-file or a GetProject_NumberOfTracks.
Returns -1 in case of error.

Note: Huge projectfiles with thousands of items may take some seconds to load.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
integer number_of_tracks the number of tracks within an projectfile



^ Reaper version 5.40 Ultraschall version 4.00GetProject_PanLaw

Functioncall:
Lua: number panlaw_state = ultraschall.GetProject_PanLaw(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the GetProject_PanLaw-state from an RPP-Projectfile or a ProjectStateChunk, as set in the project-settings->Advanced->Pan law/mode->Pan:law(db).

It's the entry PANLAW

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
number panlaw_state state of the panlaw, as set in the project-settings->Advanced->Pan law/mode->Pan:law(db). 0.5(-6.02 db) to 1(default +0.0 db)



^ Reaper version 5.40 Ultraschall version 4.00GetProject_PanMode

Functioncall:
Lua: integer panmode_state = ultraschall.GetProject_PanMode(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the panmode-state from an RPP-Projectfile or a ProjectStateChunk.

It's the entry PANMODE

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
integer panmode_state panmode-state 0 reaper 3.x balance (deprecated) 3 Stereo balance / mono pan (default) 5 Stereo pan 6 Dual Pan



^ Reaper version 5.40 Ultraschall version 4.00GetProject_PeakGain

Functioncall:
Lua: number peakgain_state = ultraschall.GetProject_PeakGain(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the GetProject_PeakGain-state from an RPP-Projectfile or a ProjectStateChunk.

It's the entry PEAKGAIN

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path of the rpp-project-file
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
number peakgain_state peakgain-state



^ Reaper version 5.95 Ultraschall version 4.00GetProject_Playrate

Functioncall:
Lua: number playrate, integer preserve_pitch, number min_playrate, number max_playrate = ultraschall.GetProject_Playrate(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

returns the tempo-settings of the project, as set in the Project Settings -> Project Settings-tab

It's the entry PLAYRATE

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the playrate-state; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
number playrate the currently set playrate; 0.01 to 10
integer preserve_pitch 0, don't preserve pitch, when changing playrate; 1, preserve pitch, when changing playrate
number min_playrate the minimum playrate possible in the project; 0.01 to 10
number max_playrate the maximum playrate possible in the project; 0.01 to 10



^ Reaper version 5.40 Ultraschall version 4.00GetProject_PooledEnvAttach

Functioncall:
Lua: integer pooled_env_attach = ultraschall.GetProject_PooledEnvAttach(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the PooledEnvAttach-state from an RPP-Projectfile or a ProjectStateChunk.

It's the entry POOLEDENVATTACH

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path of the rpp-project-file; nil, use parameter ProjectStateChunk instead
string ProjectStateChunk a projectstatechunk to read the value from; only used, projectfilename_with_path is nil

Returnvalues:
integer pooled_env_attach the pooled-env-attach state



^ Reaper version 5.941 Ultraschall version 4.00GetProject_ProjOffsets

Functioncall:
Lua: number start_time, integer start_measure, integer base_ruler_marking_off_this_measure = ultraschall.GetProject_ProjOffsets(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the Project Offset-state from an RPP-Projectfile or a ProjectStateChunk, start time as well as start measure.
as set in ProjectSettings->ProjectSettings->Project Start Time/Measure and the checkbox Base Ruler Marking Off This Measure-checkbox

It's the entry PROJOFFS

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
number start_time the project-start-time in seconds
integer start_measure starting with 0, unlike the Settingswindow, where the 0 becomes 1 as measure
integer base_ruler_marking_off_this_measure 0, checkbox unchecked; 1, checkbox checked



^ Reaper version 5.95 Ultraschall version 4.00GetProject_ProjectBay

Functioncall:
Lua: string ProjectBayStateChunk = ultraschall.GetProject_ProjectBay(string ProjectStateChunk, optional string ProjectStateChunk)

Description:

returns the ProjectBay-StateChunk, that holds MediaItems, that shall be retained in the "background" of the project, even if they are deleted from the project.
These MediaItems can be seen and set to retain from within the ProjectBay-window.

It's the entry <PROJBAY ... >

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the projectbay-statechunk; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
string ProjectBayStateChunk the statechunk of the ProjectBay



^ Reaper version 5.975 Ultraschall version 4.00GetProject_QRenderOriginalProject

Functioncall:
Lua: string qrender_originalproject_file = ultraschall.GetProject_QRenderOriginalProject(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the original-filename of a queue-render-projectfile. Will return empty string, if the queued-render-project hadn't been saved before it was added to the render-queue.

It's the entry QUEUED_RENDER_ORIGINAL_FILENAME

Returns nil in case of error or if no such entry exists.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
string qrender_originalproject_file the original-projectfilename of the queue-render-project



^ Reaper version 5.975 Ultraschall version 4.00GetProject_QRenderOutFiles

Functioncall:
Lua: integer count_outfiles, table QRenderOutFilesList, table QRenderOutFilesListGuid, boolean AutoCloseWhenFinished, boolean AutoIncrementFilename, boolean SaveCopyToOutfile = ultraschall.GetProject_QRenderOutFiles(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the outfiles of the rendered files, stored in a queue-render-projectfile. This includes the path and files of the files, that will be rendered.

It's the entry QUEUED_RENDER_OUTFILE

Returns nil in case of error or if no such entry exists.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
integer count_outfiles the number of render-outfiles
table QRenderOutFilesList an array with all filenames-with-paths that the rendered files will have; if the filename contains "-001" or higher, this represents a file for a rendered stem, otherwise it is the one for the master.
table QRenderOutFilesListGuid the guids of the rendered outfiles
boolean AutoCloseWhenFinished true, the render-dialog will be closed after render is finished; false, the render-dialog keeps open
boolean AutoIncrementFilename true, autoincrement filename if the file already exists; false, don't autoincrement filename
boolean SaveCopyToOutfile true, save a copy of the project as e.g. "outfile.wav.RPP"; false, don't save a copy of the project



^ Reaper version 5.40 Ultraschall version 4.00GetProject_ReaperVersion

Functioncall:
Lua: string reaperversion, string timestamp = ultraschall.GetProject_ReaperVersion(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the reaperversion and the timestamp from an RPP-Projectfile or a ProjectStateChunk.

It's the entry "<REAPER_PROJECT"

Returns nil in case of error or if no such entry exists.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
string reaperversion the version of Reaper, with which this project had been saved
string timestamp a timestamp for this project



^ Reaper version 5.40 Ultraschall version 4.00GetProject_RecMode

Functioncall:
Lua: integer rec_mode = ultraschall.GetProject_RecMode(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the rec-mode-state from an RPP-Projectfile or a ProjectStateChunk.

It's the entry RECMODE

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
integer rec_mode recording-mode-state 0 - Autopunch/Selected Items 1 - normal 2 - Time Selection/Auto Punch



^ Reaper version 5.40 Ultraschall version 4.00GetProject_RecPath

Functioncall:
Lua: string prim_recpath, string sec_recpath = ultraschall.GetProject_RecPath(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the primary and secondary recording-path from an RPP-Projectfile or a ProjectStateChunk.

It's the entry RECORD_PATH

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
string prim_recpath the primary recording path
string sec_recpath the secondary recording path



^ Reaper version 5.40 Ultraschall version 4.00GetProject_RecordCFG

Functioncall:
Lua: string recording_cfg_string = ultraschall.GetProject_RecordCFG(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the recording-configuration as encoded BASE64-string from an RPP-Projectfile or a ProjectStateChunk, as set in ProjectSettings->Media->Recording.

It's the entry <RECORD_CFG

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
recording_cfg_string the record-configuration as encoded string



^ Reaper version 6.04 Ultraschall version 4.00GetProject_RenderCFG

Functioncall:
Lua: string render_cfg, string render_cfg2 = ultraschall.GetProject_RenderCFG(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the render-cfg-string2, that contains all render-settings for primary and secondary render-settings of a project from an RPP-Projectfile or a ProjectStateChunk.

It's the entry <RENDER_CFG

Returns nil in case of error or if no such entry exists.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
string render_cfg the renderstring, which contains all render-settings for a project/projectstatechunk
string render_cfg2 the renderstring, which contains all secondary-render-settings for a project/projectstatechunk



^ Reaper version 6.02 Ultraschall version 4.00GetProject_RenderDitherState

Functioncall:
Lua: integer renderdither_state = ultraschall.GetProject_RenderDitherState(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the render-dither-state from an rpp-project-file or a ProjectStateChunk.

It's the entry RENDER_DITHER

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
integer renderdither_state the state of render dithering &1, Dither Master mix &2, Noise shaping Master mix &4, Dither Stems &8, Noise shaping Stems



^ Reaper version 5.40 Ultraschall version 4.00GetProject_RenderFilename

Functioncall:
Lua: string render_filename = ultraschall.GetProject_RenderFilename(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the render-filename from an RPP-Projectfile or a ProjectStateChunk. If it contains only a path or nothing, you should check the Render_Pattern using GetProject_RenderPattern, as a render-pattern influences the rendering-filename as well.

It's the entry RENDER_FILE

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
string render_filename the filename for rendering, check also GetProject_RenderPattern



^ Reaper version 5.40 Ultraschall version 4.00GetProject_RenderFreqNChans

Functioncall:
Lua: integer unknown, integer rendernum_chans, integer render_frequency = ultraschall.GetProject_RenderFreqNChans(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns an unknown number, the render-frequency and rendernumber of channels from an RPP-Projectfile or a ProjectStateChunk.
It's the entry RENDER_FMT

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
integer unknown unknown number
integer rendernum_chans Number_Channels 0-seems default-project-settings(?), 1-Mono, 2-Stereo, ... up to 64 channels
integer render_frequency RenderFrequency -2147483647 to 2147483647, except 0, which seems to be default-project-settings-frequency



^ Reaper version 5.975 Ultraschall version 4.00GetProject_RenderPattern

Functioncall:
Lua: string render_pattern = ultraschall.GetProject_RenderPattern(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the render-pattern, that tells Reaper, how to automatically name the render-file, from an RPP-Projectfile or a ProjectStateChunk. If it contains nothing, you should check the Render_Pattern using GetProject_RenderFilename, as a render-pattern influences the rendering-filename as well.

It's the entry RENDER_PATTERN
    
    Capitalizing the first character of the wildcard will capitalize the first letter of the substitution.
    Capitalizing the first two characters of the wildcard will capitalize all letters.
    
    Directories will be created if necessary. For example if the render target
    is "$project/track", the directory "$project" will be created.
    
    Immediately following a wildcard, character replacement statements may be specified:
        -- single character which is to be removed from the substitution.
                  For example: $track< > removes all spaces from the track name,
                               $track<\> removes all slashes.
                              
       -- multiple characters, abcde are all replaced with X.
                  
                  For example: <_.> replaces all underscores with periods,
                               replaces all slashes with underscores.
                  
                  If > is specified as a source character, it must be listed first in the list.
    
    $item    media item take name, if the input is a media item
    $itemnumber  1 for the first media item on a track, 2 for the second...
    $track    track name
    $tracknumber  1 for the first track, 2 for the second...
    $parenttrack  parent track name
    $region    region name
    $regionnumber  1 for the first region, 2 for the second...
    $project    project name
    $tempo    project tempo at the start of the render region
    $timesignature  project time signature at the start of the render region, formatted as 4-4
    $filenumber  blank (optionally 1) for the first file rendered, 1 (optionally 2) for the second...
    $filenumber[N]  N for the first file rendered, N+1 for the second...
    $note    C0 for the first file rendered,C#0 for the second...
    $note[X]    X (example: B2) for the first file rendered, X+1 (example: C3) for the second...
    $natural    C0 for the first file rendered, D0 for the second...
    $natural[X]  X (example: F2) for the first file rendered, X+1 (example: G2) for the second...
    $namecount  1 for the first item or region of the same name, 2 for the second...
    $timelineorder  1 for the first item or region on the timeline, 2 for the second...
    
    Position/Length:
    $start    start time of the media item, render region, or time selection, in M-SS.TTT
    $end    end time of the media item, render region, or time selection, in M-SS.TTT
    $length    length of the media item, render region, or time selection, in M-SS.TTT
    $startbeats  start time in measures.beats of the media item, render region, or time selection
    $endbeats  end time in measures.beats of the media item, render region, or time selection
    $lengthbeats    length in measures.beats of the media item, render region, or time selection
    $starttimecode  start time in H-MM-SS-FF format of the media item, render region, or time selection
    $endtimecode  end time in H-MM-SS-FF format of the media item, render region, or time selection
    $startframes  start time in absolute frames of the media item, render region, or time selection
    $endframes  end time in absolute frames of the media item, render region, or time selection
    $lengthframes  length in absolute frames of the media item, render region, or time selection
    $startseconds  start time in whole seconds of the media item, render region, or time selection
    $endseconds  end time in whole seconds of the media item, render region, or time selection
    $lengthseconds  length in whole seconds of the media item, render region, or time selection
    
    Output Format:
    $format    render format (example: wav)
    $samplerate  sample rate (example: 44100)
    $sampleratek  sample rate (example: 44.1)
    $bitdepth  bit depth, if available (example: 24 or 32FP)
    
    Current Date/Time:
    $year    year, currently 2019
    $year2    last 2 digits of the year,currently 19
    $month    month number,currently 04
    $monthname  month name,currently apr
    $day    day of the month, currently 28
    $hour    hour of the day in 24-hour format,currently 23
    $hour12    hour of the day in 12-hour format,currently 11
    $ampm    am if before noon,pm if after noon,currently pm
    $minute    minute of the hour,currently 30
    $second    second of the minute,currently 27
    
    Computer Information:
    $user    user name
    $computer  computer name
    
    (this description has been taken from the Render Wildcard Help within the Render-Dialog of Reaper)

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
string render_pattern the pattern, with which the rendering-filename will be automatically created. Check also GetProject_RenderFilename



^ Reaper version 5.975 Ultraschall version 4.00GetProject_RenderQueueDelay

Functioncall:
Lua: boolean qdelay_checkstate, integer qdelay_seconds = ultraschall.GetProject_Selection(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the state of the checkbox Delay queued render to allow samples to load-checkbox and the length of the delay.

It's the entry RENDER_QDELAY

Returns nil in case of error or if no such entry exists.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
boolean qdelay_checkstate true, the checkbox is checked; false, it is unchecked
integer qdelay_seconds the length of the queued-render-delay in seconds



^ Reaper version 5.975 Ultraschall version 4.00GetProject_RenderRange

Functioncall:
Lua: integer bounds, number time_start, number time_end, integer tail, integer tail_length = ultraschall.GetProject_RenderRange(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the render-range, render-timestart, render-timeend, render-tail and render-taillength from an RPP-Projectfile or a ProjectStateChunk. To get RENDER_STEMS, refer GetProject_RenderStems

It's the entry RENDER_RANGE

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
integer bounds the bounds of the project to be rendered 0, Custom Time Range 1, Entire Project 2, Time Selection, 3, Project Regions 4, Selected Media Items(in combination with RENDER_STEMS 32); to get RENDER_STEMS, refer GetProject_RenderStems 5, Selected regions
number time_start TimeStart in milliseconds -2147483647 to 2147483647
number time_end TimeEnd in milliseconds 2147483647 to 2147483647
integer tail Tail on/off-flags for individual bounds 0, tail off for all bounds 1, custom time range -> tail on 2, entire project -> tail on 4, time selection -> tail on 8, project regions -> tail on
integer tail_length TailLength in milliseconds, valuerange 0 - 2147483647



^ Reaper version 5.40 Ultraschall version 4.00GetProject_RenderResample

Functioncall:
Lua: integer resample_mode, integer playback_resample_mode, integer project_smplrate4mix_and_fx = ultraschall.GetProject_RenderResample(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns Resamplemode for a)Rendering and b)Playback as well as c)if both are combined from an RPP-Projectfile or a ProjectStateChunk.

It's the entry RENDER_RESAMPLE

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
integer resample_mode Resample_Mode 0-medium (64pt Sinc), 1-Low (Linear Interpolation), 2-Lowest (Point Sampling), 3-Good(192pt Sinc), 4-Better(384pt Sinc), 5-Fast (IIR + Linear Interpolation), 6-Fast (IIRx2 + Linear Interpolation), 7-Fast (16pt sinc) - Default, 8-HQ (512pt Sinc), 9-Extreme HQ (768pt HQ Sinc)
integer playback_resample_mode Playback Resample Mode (as set in the Project-Settings) 0-medium (64pt Sinc), 1-Low (Linear Interpolation), 2-Lowest (Point Sampling), 3-Good(192pt Sinc), 4-Better(384pt Sinc), 5-Fast (IIR + Linear Interpolation), 6-Fast (IIRx2 + Linear Interpolation), 7-Fast (16pt sinc) - Default, 8-HQ (512pt Sinc), 9-Extreme HQ (768pt HQ Sinc)
integer project_smplrate4mix_and_fx Use project sample rate for mixing and FX/synth processing-checkbox; 1, checked; 0, unchecked



^ Reaper version 5.40 Ultraschall version 4.00GetProject_RenderSpeed

Functioncall:
Lua: integer render_speed = ultraschall.GetProject_RenderSpeed(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the rendering-speed from an RPP-Projectfile or a ProjectStateChunk.
It's the entry RENDER_1X

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
integer render_speed render_speed 0-Fullspeed Offline 1-1x Offline 2-Online Render 3-Offline Render (Idle) 4-1x Offline Render (Idle)



^ Reaper version 6.20 Ultraschall version 4.2GetProject_RenderStems

Functioncall:
Lua: integer render_stems = ultraschall.GetProject_RenderStems(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the render-stems-state from an rpp-project-file or a ProjectStateChunk.

It's the entry RENDER_STEMS

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
integer render_stems the state of Render Stems 0, Source Master Mix, 1, Source Master mix + stems, 3, Source Stems, selected tracks, &4, Multichannel Tracks to Multichannel Files, 8, Source Region Render Matrix, &16, Tracks with only Mono-Media to Mono Files, 32, Selected Media Items(in combination with RENDER_RANGE->Bounds->4, refer to GetProject_RenderRange to get RENDER_RANGE) 64, Selected media items via master 128, Selected tracks via master &256, Embed stretch markers/transient guides-checkbox &1024, Embed Take markers &2048, enable second pass rendering



^ Reaper version 5.40 Ultraschall version 4.00GetProject_RippleState

Functioncall:
Lua: integer ripplestate = ultraschall.GetProject_RippleState(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the ripple-state from an RPP-Projectfile or a ProjectStateChunk.

It's the entry RIPPLE

Returns nil in case of error or if no such entry exists.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
integer ripplestate 0, no Ripple; 1, Ripple One Track; 2, Ripple All



^ Reaper version 5.40 Ultraschall version 4.00GetProject_SMPTESync

Functioncall:
Lua: integer smptesync_state1, number smptesync_fps, integer smptesync_resyncdrift, integer smptesync_skipdropframes, integer smptesync_syncseek, integer smptesync_freewheel, integer smptesync_userinput, number smptesync_offsettimecode, integer smptesync_stop_rec_drift, integer smptesync_state10, integer smptesync_stop_rec_lacktime = ultraschall.GetProject_SMPTESync(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the smpte-sync-state from an RPP-Projectfile or a ProjectStateChunk.

It's the entry SMPTESYNC

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
integer smptesync_state1 flag 0 - external timecode synchronization disabled 1 - external timecode synchronization enabled 4 - Start playback on valid timecode when stopped 8 - turned off: display flashing notification window when waiting for sync for recording 16 - playback off 32 - recording off 256 - MTC - 24/30fps MTC is 23.976/29.97ND works only with smptesync_userinput set to 4159 512 - MTC - 24/30fps MTC is 24/30ND
number smptesync_fps framerate in fps
integer smptesync_resyncdrift "Re-synchronize if drift exceeds" in ms (0 = never)
integer smptesync_skipdropframes "skip/drop frames if drift exceeds" in ms(0 - never)
integer smptesync_syncseek "Synchronize by seeking ahead" in ms (default = 1000)
integer smptesync_freewheel "Freewheel on missing time code for up to" in ms(0 = forever)
integer smptesync_userinput User Input-flag 0 - LTC: Input 1 1 - LTC: Input 2 4159 - MTC - All inputs - 24/30 fps MTC 23.976ND/29.97ND if project is ND 4223 - SPP: All Inputs 8192 - ASIO Positioning Protocol
number smptesync_offsettimecode Offset incoming timecode by in seconds
integer smptesync_stop_rec_drift "Stop recording if drift exceeds" in ms(0 = never)
integer smptesync_state10 smptesync-state
integer smptesync_stop_rec_lacktime "stop recording on lack of timecode after" in ms(0 = never)



^ Reaper version 5.40 Ultraschall version 4.00GetProject_SampleRate

Functioncall:
Lua: integer sample_rate, integer project_sample_rate, integer force_tempo_time_sig = ultraschall.GetProject_SampleRate(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the take-lane-state, as set in the project-settings, from an rpp-project-file or a ProjectStateChunk.

It's the entry SAMPLERATE

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
integer sample_rate Project Sample Rate in Hz
integer project_sample_rate Checkbox: Project Sample Rate
integer force_tempo_time_sig Checkbox: Force Project Tempo/Time Signature changes to occur on whole samples



^ Reaper version 5.40 Ultraschall version 4.00GetProject_Selection

Functioncall:
Lua: number start_selection, number end_selection, number start_selection2, number end_selection2 = ultraschall.GetProject_Selection(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the selection-range from an RPP-Projectfile or a ProjectStateChunk.

It's the entry SELECTION

Returns nil in case of error or if no such entry exists.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
number start_selection start of the time-selection
number end_selection end of the time-selection
number start_selection2 start of the time-selection
number end_selection2 end of the time-selection



^ Reaper version 5.40 Ultraschall version 4.00GetProject_TakeLane

Functioncall:
Lua: integer take_lane_state = ultraschall.GetProject_TakeLane(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the take-lane-state from an rpp-project-file or a ProjectStateChunk.

It's the entry TAKELANE

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
integer take_lane_state take-lane-state



^ Reaper version 5.95 Ultraschall version 4.00GetProject_Tempo

Functioncall:
Lua: number bpm, integer beat, integer denominator = ultraschall.GetProject_Tempo(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

returns the tempo-settings of the project, as set in the Project Settings -> Project Settings-tab

It's the entry TEMPO

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the tempo-state; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
number bpm the tempo of the project in bpm
integer beat the beat of the project
integer denominator the denominator for the beat



^ Reaper version 5.95 Ultraschall version 4.00GetProject_TempoEnvEx

Functioncall:
Lua: string TempoStateChunk = ultraschall.GetProject_TempoEnvEx(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

returns the Tempo-StateChunk, that holds tempo-settings of the master.

It's the entry <TEMPOENVEX ... >

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the tempo-statechunk; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
string TempoStateChunk the statechunk of the Tempo



^ Reaper version 5.95 Ultraschall version 4.00GetProject_TempoEnv_ExStateChunk

Functioncall:
Lua: string TempoEnv_ExStateChunk = ultraschall.GetProject_TempoEnv_ExStateChunk(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

returns the TempoEnv_ExStateChunk, that holds TempoEnv_Ex-settings of an rpp-project or ProjectStateChunk.

It's the entry <TEMPOENVEX ... >

returns nil in case of an error

Parameters:
string projectfilename_with_path the projectfile+path, from which to get the tempo-env-ex-statechunk; nil to use ProjectStateChunk
optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file

Returnvalues:
string TempoEnv_ExStateChunk the statechunk of the Tempo-Env-Ex



^ Reaper version 5.40 Ultraschall version 4.00GetProject_TempoTimeSignature

Functioncall:
Lua: integer tempotimesignature = ultraschall.GetProject_TempoTimeSignature(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the timebase for tempo/time-signature as set in the project-settings, from an rpp-project-file or a ProjectStateChunk.
It's the entry TEMPOENVLOCKMODE

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
integer tempotimesignature the timebase for tempo/time-signature as set in the project settings 0 - Time 1 - Beats



^ Reaper version 5.40 Ultraschall version 4.00GetProject_TimeBase

Functioncall:
Lua: integer timebase = ultraschall.GetProject_TimeBase(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the timebase-state from an rpp-project-file or a ProjectStateChunk.
It's the entry TIMELOCKMODE x

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
integer timebase the timebase for items/envelopes/markers as set in the project settings 0 - Time, 1 - Beats (position, length, rate), 2 - Beats (position only)



^ Reaper version 5.40 Ultraschall version 4.00GetProject_Timemode

Functioncall:
Lua: integer ruler_timemode, integer timemode2, integer showntime, integer timemode4, integer timemode5, integer timemode6, integer timemode7 = ultraschall.GetProject_Timemode(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the timemode-state from an RPP-Projectfile or a ProjectStateChunk.

It's the entry TIMEMODE

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
integer ruler_timemode ruler-timemode-state -1, Use ruler time unit 0, Minutes:Seconds 1, Measures.Beats / Minutes:Seconds 2, Measures.Beats 3, Seconds 4, Samples 5, Hours:Minutes:Seconds:Frames 8, Absolute Frames
integer timemode2 timemode-state
integer showntime Transport shown time -1 - use ruler time unit 0 - minutes:seconds 1 - measures:beats/minutes:seconds 2 - measures:beats 3 - seconds 4 - samples 5 - hours:minutes:seconds:frames 8 - absolute frames
integer timemode4 timemode-state
integer timemode5 timemode-state
integer timemode6 timemode-state
integer timemode7 timemode-state



^ Reaper version 5.40 Ultraschall version 4.00GetProject_TrackMixingDepth

Functioncall:
Lua: integer track_mixing_depth = ultraschall.GetProject_TrackMixingDepth(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the track-mixing-state, as set in the project-settings, from an rpp-project-file or a ProjectStateChunk.
It's the entry INTMIXMODE

Returns -1 in case of error, nil if it's set to 64bit(default)!

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
integer track_mixing_depth track mixing depth nil - 64bit float (default) 1 - 32 bit float 2 - 39 bit integer 3 - 24 bit integer 4 - 16 bit integer 5 - 12 bit integer 6 - 8 bit integer



^ Reaper version 5.40 Ultraschall version 4.00GetProject_TrackStateChunk

Functioncall:
Lua: string trackstatechunk = ultraschall.GetProject_TrackStateChunk(string projectfilename_with_path, integer idx, boolean deletetrackid, optional string ProjectStateChunk)

Description:

Returns an RPPXML-trackstatechunk from an rpp-project-file or a ProjectStateChunk, with tracknumber idx. IDX is 1 for the first track in the project-file, 2 for the second, etc
Returns -1 in case of error.

Use GetProject_NumberOfTracks to get the number of tracks within an rpp-file.

The returned trackstatechunk can be inserted into the current project with InsertTrack_TrackStateChunk.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
integer idx the tracknumber you want to have
boolean deletetrackid deletes the trackID in the trackstate-chunk, to avoid possible conflicts within a project, where it shall be imported to
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
string trackstatechunk an RPP-XML-Trackstate-chunk, that can be used by functions like reaper.SetTrackStateChunk()



^ Reaper version 5.40 Ultraschall version 4.00GetProject_UseRecConfig

Functioncall:
Lua: integer rec_cfg = ultraschall.GetProject_UseRecConfig(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the rec-cfg-state from an RPP-Projectfile or a ProjectStateChunk.

It's the entry USE_REC_CFG

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
integer rec_cfg recording-cfg-state 0 - Automatic .wav (recommended) 1 - Custom (use ultraschall.GetProject_ApplyFXCFG to get recording_cfg_string) 2 - Recording Format



^ Reaper version 5.40 Ultraschall version 4.00GetProject_VerticalZoom

Functioncall:
Lua: integer vzoom = ultraschall.GetProject_VerticalZoom(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the verticalzoom from an RPP-Projectfile or a ProjectStateChunk.

It's the entry VZOOMEX

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
integer vzoom vertical zoomfactor(0-40)



^ Reaper version 5.40 Ultraschall version 4.00GetProject_VideoConfig

Functioncall:
Lua: integer preferredVidSizeX, integer preferredVidSizeY, integer settingsflags = ultraschall.GetProject_VideoConfig(string projectfilename_with_path, optional string ProjectStateChunk)

Description:

Returns the videoconfig-state from an RPP-Projectfile or a ProjectStateChunk.

It's the entry VIDEO_CONFIG

Returns nil in case of error.

Parameters:
string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk
optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil

Returnvalues:
integer preferredVidSizeX preferred video size, x pixels
integer preferredVidSizeY preferred video size, y pixels
integer settingsflags settings 0 - turned on/selected: use high quality filtering, preserve aspect ratio(letterbox) when resizing, Video colorspace set to Auto, Items in higher numbered tracks replace lower, as well as Video colorspace set to Auto 1 - Video colorspace: I420/YV12 2 - Video colorspace: YUV2 3 - RGB 256 - Items in lower numbered tracks replace higher 512 - Always resize video sources to preferred video size 1024 - Always resize output to preferred video size 2048 - turn off "Use high quality filtering when resizing" 4096 - turn off "preserve aspect ratio (letterbox) when resizing"




^ Reaper version 6.10 Ultraschall version 4.1SetProject_AddMediaToProjectAfterRender

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_AddMediaToProjectAfterRender(string projectfilename_with_path, integer state, optional string ProjectStateChunk)

Description:

Sets, if rendered media shall be added to the project afterwards as well as if likely silent files shall be rendered-state, from an RPP-Projectfile or a ProjectStateChunk.
    
    It's the state of the "Add rendered items to new tracks in project"- checkbox and "Do not render files that are likely silent"-checkbox, as set in the Render to file-dialog.
    
It's the entry RENDER_ADDTOPROJ

Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer state the state of the "Add rendered items to new tracks in project"- checkbox and "Do not render files that are likely silent"-checkbox &1, rendered media shall be added to the project afterwards; 0, don't add &2, don't render likely silent files; 0, render anyway
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetProject_ApplyFXCFG

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_ApplyFXCFG(string projectfilename_with_path, string applyfx_cfg_string, optional string ProjectStateChunk)

Description:

Sets the audioformat-configuration, for fx-appliance-operation, as an encoded string in an RPP-Projectfile or a ProjectStateChunk, as set in ProjectSettings->Media->Format for Apply FX, Glue, Freeze, etc

Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
string applyfx_cfg_string the file-format-configuration for fx-appliance as encoded string
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetProject_AutoCrossFade

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_AutoCrossFade(string projectfilename_with_path, integer autocrossfade_state, optional string ProjectStateChunk)

Description:

Sets the autocrossfade-state in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer autocrossfade_state autocrossfade-state
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetProject_CursorPos

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_CursorPos(string projectfilename_with_path, number cursorpos, optional string ProjectStateChunk)

Description:

Sets the cursor-position in an rpp-project-file or a ProjectStateChunk
Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
number cursorpos editcursorposition in seconds
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.977 Ultraschall version 4.00SetProject_DefPitchMode

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_DefPitchMode(string projectfilename_with_path, integer def_pitch_mode_state, integer stretch_marker_mode, optional string ProjectStateChunk)

Description:

Sets the default-pitch-mode, as set in the project-settings, from an rpp-project-file or a ProjectStateChunk.

def_pitch_mode_state can be

    SoundTouch:
        0 - Default settings
        1 - High Quality
        2 - Fast

    Simple windowed (fast):
        131072 - 50ms window, 25ms fade
        131073 - 50ms window, 16ms fade
        131074 - 50ms window, 10ms fade
        131075 - 50ms window, 7ms fade
        131076 - 75ms window, 37ms fade
        131077 - 75ms window, 25ms fade
        131078 - 75ms window, 15ms fade
        131079 - 75ms window, 10ms fade
        131080 - 100ms window, 50ms fade
        131081 - 100ms window, 33ms fade
        131082 - 100ms window, 20ms fade
        131083 - 100ms window, 14ms fade
        131084 - 150ms window, 75ms fade
        131085 - 150ms window, 50ms fade
        131086 - 150ms window, 30ms fade
        131087 - 150ms window, 21ms fade
        131088 - 225ms window, 112ms fade
        131089 - 225ms window, 75ms fade
        131090 - 225ms window, 45ms fade
        131091 - 225ms window, 32ms fade
        131092 - 300ms window, 150ms fade
        131093 - 300ms window, 100ms fade
        131094 - 300ms window, 60ms fade
        131095 - 300ms window, 42ms fade
        131096 - 40ms window, 20ms fade
        131097 - 40ms window, 13ms fade
        131098 - 40ms window, 8ms fade
        131099 - 40ms window, 5ms fade
        131100 - 30ms window, 15ms fade
        131101 - 30ms window, 10ms fade
        131102 - 30ms window, 6ms fade
        131103 - 30ms window, 4ms fade
        131104 - 20ms window, 10ms fade
        131105 - 20ms window, 6ms fade
        131106 - 20ms window, 4ms fade
        131107 - 20ms window, 2ms fade
        131108 - 10ms window, 5ms fade
        131109 - 10ms window, 3ms fade
        131110 - 10ms window, 2ms fade
        131111 - 10ms window, 1ms fade
        131112 - 5ms window, 2ms fade
        131113 - 5ms window, 1ms fade
        131114 - 5ms window, 1ms fade
        131115 - 5ms window, 1ms fade
        131116 - 3ms window, 1ms fade
        131117 - 3ms window, 1ms fade
        131118 - 3ms window, 1ms fade
        131119 - 3ms window, 1ms fade

    ÃƒÂ©lastique 2.2.8 Pro:
        393216 - Normal
        393217 - Preserve Formants (Lowest Pitches)
        393218 - Preserve Formants (Lower Pitches)
        393219 - Preserve Formants (Low Pitches)
        393220 - Preserve Formants (Most Pitches)
        393221 - Preserve Formants (High Pitches)
        393222 - Preserve Formants (Higher Pitches)
        393223 - Preserve Formants (Highest Pitches)
        393224 - Mid/Side
        393225 - Mid/Side, Preserve Formants (Lowest Pitches)
        393226 - Mid/Side, Preserve Formants (Lower Pitches)
        393227 - Mid/Side, Preserve Formants (Low Pitches)
        393228 - Mid/Side, Preserve Formants (Most Pitches)
        393229 - Mid/Side, Preserve Formants (High Pitches)
        393230 - Mid/Side, Preserve Formants (Higher Pitches)
        393231 - Mid/Side, Preserve Formants (Highest Pitches)
        393232 - Synchronized: Normal
        393233 - Synchronized: Preserve Formants (Lowest Pitches)
        393234 - Synchronized: Preserve Formants (Lower Pitches)
        393235 - Synchronized: Preserve Formants (Low Pitches)
        393236 - Synchronized: Preserve Formants (Most Pitches)
        393237 - Synchronized: Preserve Formants (High Pitches)
        393238 - Synchronized: Preserve Formants (Higher Pitches)
        393239 - Synchronized: Preserve Formants (Highest Pitches)
        393240 - Synchronized:  Mid/Side
        393241 - Synchronized:  Mid/Side, Preserve Formants (Lowest Pitches)
        393242 - Synchronized:  Mid/Side, Preserve Formants (Lower Pitches)
        393243 - Synchronized:  Mid/Side, Preserve Formants (Low Pitches)
        393244 - Synchronized:  Mid/Side, Preserve Formants (Most Pitches)
        393245 - Synchronized:  Mid/Side, Preserve Formants (High Pitches)
        393246 - Synchronized:  Mid/Side, Preserve Formants (Higher Pitches)
        393247 - Synchronized:  Mid/Side, Preserve Formants (Highest Pitches)

    ÃƒÂ©lastique 2.2.8 Efficient:
        458752 - Normal
        458753 - Mid/Side
        458754 - Synchronized: Normal
        458755 - Synchronized: Mid/Side

    ÃƒÂ©lastique 2.2.8 Soloist:
        524288 - Monophonic
        524289 - Monophonic [Mid/Side]
        524290 - Speech
        524291 - Speech [Mid/Side]

    ÃƒÂ©lastique 3.3.0 Pro:
        589824 - Normal
        589825 - Preserve Formants (Lowest Pitches)
        589826 - Preserve Formants (Lower Pitches)
        589827 - Preserve Formants (Low Pitches)
        589828 - Preserve Formants (Most Pitches)
        589829 - Preserve Formants (High Pitches)
        589830 - Preserve Formants (Higher Pitches)
        589831 - Preserve Formants (Highest Pitches)
        589832 - Mid/Side
        589833 - Mid/Side, Preserve Formants (Lowest Pitches)
        589834 - Mid/Side, Preserve Formants (Lower Pitches)
        589835 - Mid/Side, Preserve Formants (Low Pitches)
        589836 - Mid/Side, Preserve Formants (Most Pitches)
        589837 - Mid/Side, Preserve Formants (High Pitches)
        589838 - Mid/Side, Preserve Formants (Higher Pitches)
        589839 - Mid/Side, Preserve Formants (Highest Pitches)
        589840 - Synchronized: Normal
        589841 - Synchronized: Preserve Formants (Lowest Pitches)
        589842 - Synchronized: Preserve Formants (Lower Pitches)
        589843 - Synchronized: Preserve Formants (Low Pitches)
        589844 - Synchronized: Preserve Formants (Most Pitches)
        589845 - Synchronized: Preserve Formants (High Pitches)
        589846 - Synchronized: Preserve Formants (Higher Pitches)
        589847 - Synchronized: Preserve Formants (Highest Pitches)
        589848 - Synchronized:  Mid/Side
        589849 - Synchronized:  Mid/Side, Preserve Formants (Lowest Pitches)
        589850 - Synchronized:  Mid/Side, Preserve Formants (Lower Pitches)
        589851 - Synchronized:  Mid/Side, Preserve Formants (Low Pitches)
        589852 - Synchronized:  Mid/Side, Preserve Formants (Most Pitches)
        589853 - Synchronized:  Mid/Side, Preserve Formants (High Pitches)
        589854 - Synchronized:  Mid/Side, Preserve Formants (Higher Pitches)
        589855 - Synchronized:  Mid/Side, Preserve Formants (Highest Pitches)

    ÃƒÂ©lastique 3.3.0 Efficient:
        655360 - Normal
        655361 - Mid/Side
        655362 - Synchronized: Normal
        655363 - Synchronized: Mid/Side

    ÃƒÂ©lastique 3.3.0 Soloist:
        720896 - Monophonic
        720897 - Monophonic [Mid/Side]
        720898 - Speech
        720899 - Speech [Mid/Side]


    Rubber Band Library - Default
        851968 - nothing

    Rubber Band Library - Preserve Formants
        851969 - Preserve Formants

    Rubber Band Library - Mid/Side
        851970 - Mid/Side

    Rubber Band Library - Preserve Formants, Mid/Side
        851971 - Preserve Formants, Mid/Side

    Rubber Band Library - Independent Phase
        851972 - Independent Phase

    Rubber Band Library - Preserve Formants, Independent Phase
        851973 - Preserve Formants, Independent Phase

    Rubber Band Library - Mid/Side, Independent Phase
        851974 - Mid/Side, Independent Phase

    Rubber Band Library - Preserve Formants, Mid/Side, Independent Phase
        851975 - Preserve Formants, Mid/Side, Independent Phase

    Rubber Band Library - Time Domain Smoothing
        851976 - Time Domain Smoothing

    Rubber Band Library - Preserve Formants, Time Domain Smoothing
        851977 - Preserve Formants, Time Domain Smoothing

    Rubber Band Library - Mid/Side, Time Domain Smoothing
        851978 - Mid/Side, Time Domain Smoothing

    Rubber Band Library - Preserve Formants, Mid/Side, Time Domain Smoothing
        851979 - Preserve Formants, Mid/Side, Time Domain Smoothing

    Rubber Band Library - Independent Phase, Time Domain Smoothing
        851980 - Independent Phase, Time Domain Smoothing

    Rubber Band Library - Preserve Formants, Independent Phase, Time Domain Smoothing
        851981 - Preserve Formants, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Mid/Side, Independent Phase, Time Domain Smoothing
        851982 - Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
        851983 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed
        851984 - nothing
        851985 - Preserve Formants
        851986 - Mid/Side
        851987 - Preserve Formants, Mid/Side
        851988 - Independent Phase
        851989 - Preserve Formants, Independent Phase
        851990 - Mid/Side, Independent Phase
        851991 - Preserve Formants, Mid/Side, Independent Phase
        851992 - Time Domain Smoothing
        851993 - Preserve Formants, Time Domain Smoothing
        851994 - Mid/Side, Time Domain Smoothing
        851995 - Preserve Formants, Mid/Side, Time Domain Smoothing
        851996 - Independent Phase, Time Domain Smoothing
        851997 - Preserve Formants, Independent Phase, Time Domain Smoothing
        851998 - Mid/Side, Independent Phase, Time Domain Smoothing
        851999 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth
        852000 - nothing
        852001 - Preserve Formants
        852002 - Mid/Side
        852003 - Preserve Formants, Mid/Side
        852004 - Independent Phase
        852005 - Preserve Formants, Independent Phase
        852006 - Mid/Side, Independent Phase
        852007 - Preserve Formants, Mid/Side, Independent Phase
        852008 - Time Domain Smoothing
        852009 - Preserve Formants, Time Domain Smoothing
        852010 - Mid/Side, Time Domain Smoothing
        852011 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852012 - Independent Phase, Time Domain Smoothing
        852013 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852014 - Mid/Side, Independent Phase, Time Domain Smoothing
        852015 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Percussive
        852016 - nothing
        852017 - Preserve Formants
        852018 - Mid/Side
        852019 - Preserve Formants, Mid/Side
        852020 - Independent Phase
        852021 - Preserve Formants, Independent Phase
        852022 - Mid/Side, Independent Phase
        852023 - Preserve Formants, Mid/Side, Independent Phase
        852024 - Time Domain Smoothing
        852025 - Preserve Formants, Time Domain Smoothing
        852026 - Mid/Side, Time Domain Smoothing
        852027 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852028 - Independent Phase, Time Domain Smoothing
        852029 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852030 - Mid/Side, Independent Phase, Time Domain Smoothing
        852031 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Percussive
        852032 - nothing
        852033 - Preserve Formants
        852034 - Mid/Side
        852035 - Preserve Formants, Mid/Side
        852036 - Independent Phase
        852037 - Preserve Formants, Independent Phase
        852038 - Mid/Side, Independent Phase
        852039 - Preserve Formants, Mid/Side, Independent Phase
        852040 - Time Domain Smoothing
        852041 - Preserve Formants, Time Domain Smoothing
        852042 - Mid/Side, Time Domain Smoothing
        852043 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852044 - Independent Phase, Time Domain Smoothing
        852045 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852046 - Mid/Side, Independent Phase, Time Domain Smoothing
        852047 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Percussive
        852048 - nothing
        852049 - Preserve Formants
        852050 - Mid/Side
        852051 - Preserve Formants, Mid/Side
        852052 - Independent Phase
        852053 - Preserve Formants, Independent Phase
        852054 - Mid/Side, Independent Phase
        852055 - Preserve Formants, Mid/Side, Independent Phase
        852056 - Time Domain Smoothing
        852057 - Preserve Formants, Time Domain Smoothing
        852058 - Mid/Side, Time Domain Smoothing
        852059 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852060 - Independent Phase, Time Domain Smoothing
        852061 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852062 - Mid/Side, Independent Phase, Time Domain Smoothing
        852063 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Soft
        852064 - nothing
        852065 - Preserve Formants
        852066 - Mid/Side
        852067 - Preserve Formants, Mid/Side
        852068 - Independent Phase
        852069 - Preserve Formants, Independent Phase
        852070 - Mid/Side, Independent Phase
        852071 - Preserve Formants, Mid/Side, Independent Phase
        852072 - Time Domain Smoothing
        852073 - Preserve Formants, Time Domain Smoothing
        852074 - Mid/Side, Time Domain Smoothing
        852075 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852076 - Independent Phase, Time Domain Smoothing
        852077 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852078 - Mid/Side, Independent Phase, Time Domain Smoothing
        852079 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Soft
        852080 - nothing
        852081 - Preserve Formants
        852082 - Mid/Side
        852083 - Preserve Formants, Mid/Side
        852084 - Independent Phase
        852085 - Preserve Formants, Independent Phase
        852086 - Mid/Side, Independent Phase
        852087 - Preserve Formants, Mid/Side, Independent Phase
        852088 - Time Domain Smoothing
        852089 - Preserve Formants, Time Domain Smoothing
        852090 - Mid/Side, Time Domain Smoothing
        852091 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852092 - Independent Phase, Time Domain Smoothing
        852093 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852094 - Mid/Side, Independent Phase, Time Domain Smoothing
        852095 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Soft
        852096 - nothing
        852097 - Preserve Formants
        852098 - Mid/Side
        852099 - Preserve Formants, Mid/Side
        852100 - Independent Phase
        852101 - Preserve Formants, Independent Phase
        852102 - Mid/Side, Independent Phase
        852103 - Preserve Formants, Mid/Side, Independent Phase
        852104 - Time Domain Smoothing
        852105 - Preserve Formants, Time Domain Smoothing
        852106 - Mid/Side, Time Domain Smoothing
        852107 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852108 - Independent Phase, Time Domain Smoothing
        852109 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852110 - Mid/Side, Independent Phase, Time Domain Smoothing
        852111 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Pitch Mode: HighQ
        852112 - nothing
        852113 - Preserve Formants
        852114 - Mid/Side
        852115 - Preserve Formants, Mid/Side
        852116 - Independent Phase
        852117 - Preserve Formants, Independent Phase
        852118 - Mid/Side, Independent Phase
        852119 - Preserve Formants, Mid/Side, Independent Phase
        852120 - Time Domain Smoothing
        852121 - Preserve Formants, Time Domain Smoothing
        852122 - Mid/Side, Time Domain Smoothing
        852123 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852124 - Independent Phase, Time Domain Smoothing
        852125 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852126 - Mid/Side, Independent Phase, Time Domain Smoothing
        852127 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Pitch Mode: HighQ
        852128 - nothing
        852129 - Preserve Formants
        852130 - Mid/Side
        852131 - Preserve Formants, Mid/Side
        852132 - Independent Phase
        852133 - Preserve Formants, Independent Phase
        852134 - Mid/Side, Independent Phase
        852135 - Preserve Formants, Mid/Side, Independent Phase
        852136 - Time Domain Smoothing
        852137 - Preserve Formants, Time Domain Smoothing
        852138 - Mid/Side, Time Domain Smoothing
        852139 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852140 - Independent Phase, Time Domain Smoothing
        852141 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852142 - Mid/Side, Independent Phase, Time Domain Smoothing
        852143 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Pitch Mode: HighQ
        852144 - nothing
        852145 - Preserve Formants
        852146 - Mid/Side
        852147 - Preserve Formants, Mid/Side
        852148 - Independent Phase
        852149 - Preserve Formants, Independent Phase
        852150 - Mid/Side, Independent Phase
        852151 - Preserve Formants, Mid/Side, Independent Phase
        852152 - Time Domain Smoothing
        852153 - Preserve Formants, Time Domain Smoothing
        852154 - Mid/Side, Time Domain Smoothing
        852155 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852156 - Independent Phase, Time Domain Smoothing
        852157 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852158 - Mid/Side, Independent Phase, Time Domain Smoothing
        852159 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Percussive, Pitch Mode: HighQ
        852160 - nothing
        852161 - Preserve Formants
        852162 - Mid/Side
        852163 - Preserve Formants, Mid/Side
        852164 - Independent Phase
        852165 - Preserve Formants, Independent Phase
        852166 - Mid/Side, Independent Phase
        852167 - Preserve Formants, Mid/Side, Independent Phase
        852168 - Time Domain Smoothing
        852169 - Preserve Formants, Time Domain Smoothing
        852170 - Mid/Side, Time Domain Smoothing
        852171 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852172 - Independent Phase, Time Domain Smoothing
        852173 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852174 - Mid/Side, Independent Phase, Time Domain Smoothing
        852175 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Percussive, Pitch Mode: HighQ
        852176 - nothing
        852177 - Preserve Formants
        852178 - Mid/Side
        852179 - Preserve Formants, Mid/Side
        852180 - Independent Phase
        852181 - Preserve Formants, Independent Phase
        852182 - Mid/Side, Independent Phase
        852183 - Preserve Formants, Mid/Side, Independent Phase
        852184 - Time Domain Smoothing
        852185 - Preserve Formants, Time Domain Smoothing
        852186 - Mid/Side, Time Domain Smoothing
        852187 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852188 - Independent Phase, Time Domain Smoothing
        852189 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852190 - Mid/Side, Independent Phase, Time Domain Smoothing
        852191 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Percussive, Pitch Mode: HighQ
        852192 - nothing
        852193 - Preserve Formants
        852194 - Mid/Side
        852195 - Preserve Formants, Mid/Side
        852196 - Independent Phase
        852197 - Preserve Formants, Independent Phase
        852198 - Mid/Side, Independent Phase
        852199 - Preserve Formants, Mid/Side, Independent Phase
        852200 - Time Domain Smoothing
        852201 - Preserve Formants, Time Domain Smoothing
        852202 - Mid/Side, Time Domain Smoothing
        852203 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852204 - Independent Phase, Time Domain Smoothing
        852205 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852206 - Mid/Side, Independent Phase, Time Domain Smoothing
        852207 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Soft, Pitch Mode: HighQ
        852208 - nothing
        852209 - Preserve Formants
        852210 - Mid/Side
        852211 - Preserve Formants, Mid/Side
        852212 - Independent Phase
        852213 - Preserve Formants, Independent Phase
        852214 - Mid/Side, Independent Phase
        852215 - Preserve Formants, Mid/Side, Independent Phase
        852216 - Time Domain Smoothing
        852217 - Preserve Formants, Time Domain Smoothing
        852218 - Mid/Side, Time Domain Smoothing
        852219 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852220 - Independent Phase, Time Domain Smoothing
        852221 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852222 - Mid/Side, Independent Phase, Time Domain Smoothing
        852223 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Soft, Pitch Mode: HighQ
        852224 - nothing
        852225 - Preserve Formants
        852226 - Mid/Side
        852227 - Preserve Formants, Mid/Side
        852228 - Independent Phase
        852229 - Preserve Formants, Independent Phase
        852230 - Mid/Side, Independent Phase
        852231 - Preserve Formants, Mid/Side, Independent Phase
        852232 - Time Domain Smoothing
        852233 - Preserve Formants, Time Domain Smoothing
        852234 - Mid/Side, Time Domain Smoothing
        852235 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852236 - Independent Phase, Time Domain Smoothing
        852237 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852238 - Mid/Side, Independent Phase, Time Domain Smoothing
        852239 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Soft, Pitch Mode: HighQ
        852240 - nothing
        852241 - Preserve Formants
        852242 - Mid/Side
        852243 - Preserve Formants, Mid/Side
        852244 - Independent Phase
        852245 - Preserve Formants, Independent Phase
        852246 - Mid/Side, Independent Phase
        852247 - Preserve Formants, Mid/Side, Independent Phase
        852248 - Time Domain Smoothing
        852249 - Preserve Formants, Time Domain Smoothing
        852250 - Mid/Side, Time Domain Smoothing
        852251 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852252 - Independent Phase, Time Domain Smoothing
        852253 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852254 - Mid/Side, Independent Phase, Time Domain Smoothing
        852255 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Pitch Mode: Consistent
        852256 - nothing
        852257 - Preserve Formants
        852258 - Mid/Side
        852259 - Preserve Formants, Mid/Side
        852260 - Independent Phase
        852261 - Preserve Formants, Independent Phase
        852262 - Mid/Side, Independent Phase
        852263 - Preserve Formants, Mid/Side, Independent Phase
        852264 - Time Domain Smoothing
        852265 - Preserve Formants, Time Domain Smoothing
        852266 - Mid/Side, Time Domain Smoothing
        852267 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852268 - Independent Phase, Time Domain Smoothing
        852269 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852270 - Mid/Side, Independent Phase, Time Domain Smoothing
        852271 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Pitch Mode: Consistent
        852272 - nothing
        852273 - Preserve Formants
        852274 - Mid/Side
        852275 - Preserve Formants, Mid/Side
        852276 - Independent Phase
        852277 - Preserve Formants, Independent Phase
        852278 - Mid/Side, Independent Phase
        852279 - Preserve Formants, Mid/Side, Independent Phase
        852280 - Time Domain Smoothing
        852281 - Preserve Formants, Time Domain Smoothing
        852282 - Mid/Side, Time Domain Smoothing
        852283 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852284 - Independent Phase, Time Domain Smoothing
        852285 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852286 - Mid/Side, Independent Phase, Time Domain Smoothing
        852287 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Pitch Mode: Consistent
        852288 - nothing
        852289 - Preserve Formants
        852290 - Mid/Side
        852291 - Preserve Formants, Mid/Side
        852292 - Independent Phase
        852293 - Preserve Formants, Independent Phase
        852294 - Mid/Side, Independent Phase
        852295 - Preserve Formants, Mid/Side, Independent Phase
        852296 - Time Domain Smoothing
        852297 - Preserve Formants, Time Domain Smoothing
        852298 - Mid/Side, Time Domain Smoothing
        852299 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852300 - Independent Phase, Time Domain Smoothing
        852301 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852302 - Mid/Side, Independent Phase, Time Domain Smoothing
        852303 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Percussive, Pitch Mode: Consistent
        852304 - nothing
        852305 - Preserve Formants
        852306 - Mid/Side
        852307 - Preserve Formants, Mid/Side
        852308 - Independent Phase
        852309 - Preserve Formants, Independent Phase
        852310 - Mid/Side, Independent Phase
        852311 - Preserve Formants, Mid/Side, Independent Phase
        852312 - Time Domain Smoothing
        852313 - Preserve Formants, Time Domain Smoothing
        852314 - Mid/Side, Time Domain Smoothing
        852315 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852316 - Independent Phase, Time Domain Smoothing
        852317 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852318 - Mid/Side, Independent Phase, Time Domain Smoothing
        852319 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Percussive, Pitch Mode: Consistent
        852320 - nothing
        852321 - Preserve Formants
        852322 - Mid/Side
        852323 - Preserve Formants, Mid/Side
        852324 - Independent Phase
        852325 - Preserve Formants, Independent Phase
        852326 - Mid/Side, Independent Phase
        852327 - Preserve Formants, Mid/Side, Independent Phase
        852328 - Time Domain Smoothing
        852329 - Preserve Formants, Time Domain Smoothing
        852330 - Mid/Side, Time Domain Smoothing
        852331 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852332 - Independent Phase, Time Domain Smoothing
        852333 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852334 - Mid/Side, Independent Phase, Time Domain Smoothing
        852335 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Percussive, Pitch Mode: Consistent
        852336 - nothing
        852337 - Preserve Formants
        852338 - Mid/Side
        852339 - Preserve Formants, Mid/Side
        852340 - Independent Phase
        852341 - Preserve Formants, Independent Phase
        852342 - Mid/Side, Independent Phase
        852343 - Preserve Formants, Mid/Side, Independent Phase
        852344 - Time Domain Smoothing
        852345 - Preserve Formants, Time Domain Smoothing
        852346 - Mid/Side, Time Domain Smoothing
        852347 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852348 - Independent Phase, Time Domain Smoothing
        852349 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852350 - Mid/Side, Independent Phase, Time Domain Smoothing
        852351 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Soft, Pitch Mode: Consistent
        852352 - nothing
        852353 - Preserve Formants
        852354 - Mid/Side
        852355 - Preserve Formants, Mid/Side
        852356 - Independent Phase
        852357 - Preserve Formants, Independent Phase
        852358 - Mid/Side, Independent Phase
        852359 - Preserve Formants, Mid/Side, Independent Phase
        852360 - Time Domain Smoothing
        852361 - Preserve Formants, Time Domain Smoothing
        852362 - Mid/Side, Time Domain Smoothing
        852363 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852364 - Independent Phase, Time Domain Smoothing
        852365 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852366 - Mid/Side, Independent Phase, Time Domain Smoothing
        852367 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Soft, Pitch Mode: Consistent
        852368 - nothing
        852369 - Preserve Formants
        852370 - Mid/Side
        852371 - Preserve Formants, Mid/Side
        852372 - Independent Phase
        852373 - Preserve Formants, Independent Phase
        852374 - Mid/Side, Independent Phase
        852375 - Preserve Formants, Mid/Side, Independent Phase
        852376 - Time Domain Smoothing
        852377 - Preserve Formants, Time Domain Smoothing
        852378 - Mid/Side, Time Domain Smoothing
        852379 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852380 - Independent Phase, Time Domain Smoothing
        852381 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852382 - Mid/Side, Independent Phase, Time Domain Smoothing
        852383 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Soft, Pitch Mode: Consistent
        852384 - nothing
        852385 - Preserve Formants
        852386 - Mid/Side
        852387 - Preserve Formants, Mid/Side
        852388 - Independent Phase
        852389 - Preserve Formants, Independent Phase
        852390 - Mid/Side, Independent Phase
        852391 - Preserve Formants, Mid/Side, Independent Phase
        852392 - Time Domain Smoothing
        852393 - Preserve Formants, Time Domain Smoothing
        852394 - Mid/Side, Time Domain Smoothing
        852395 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852396 - Independent Phase, Time Domain Smoothing
        852397 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852398 - Mid/Side, Independent Phase, Time Domain Smoothing
        852399 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Window: Short
        852400 - nothing
        852401 - Preserve Formants
        852402 - Mid/Side
        852403 - Preserve Formants, Mid/Side
        852404 - Independent Phase
        852405 - Preserve Formants, Independent Phase
        852406 - Mid/Side, Independent Phase
        852407 - Preserve Formants, Mid/Side, Independent Phase
        852408 - Time Domain Smoothing
        852409 - Preserve Formants, Time Domain Smoothing
        852410 - Mid/Side, Time Domain Smoothing
        852411 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852412 - Independent Phase, Time Domain Smoothing
        852413 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852414 - Mid/Side, Independent Phase, Time Domain Smoothing
        852415 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Window: Short
        852416 - nothing
        852417 - Preserve Formants
        852418 - Mid/Side
        852419 - Preserve Formants, Mid/Side
        852420 - Independent Phase
        852421 - Preserve Formants, Independent Phase
        852422 - Mid/Side, Independent Phase
        852423 - Preserve Formants, Mid/Side, Independent Phase
        852424 - Time Domain Smoothing
        852425 - Preserve Formants, Time Domain Smoothing
        852426 - Mid/Side, Time Domain Smoothing
        852427 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852428 - Independent Phase, Time Domain Smoothing
        852429 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852430 - Mid/Side, Independent Phase, Time Domain Smoothing
        852431 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Window: Short
        852432 - nothing
        852433 - Preserve Formants
        852434 - Mid/Side
        852435 - Preserve Formants, Mid/Side
        852436 - Independent Phase
        852437 - Preserve Formants, Independent Phase
        852438 - Mid/Side, Independent Phase
        852439 - Preserve Formants, Mid/Side, Independent Phase
        852440 - Time Domain Smoothing
        852441 - Preserve Formants, Time Domain Smoothing
        852442 - Mid/Side, Time Domain Smoothing
        852443 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852444 - Independent Phase, Time Domain Smoothing
        852445 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852446 - Mid/Side, Independent Phase, Time Domain Smoothing
        852447 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Percussive, Window: Short
        852448 - nothing
        852449 - Preserve Formants
        852450 - Mid/Side
        852451 - Preserve Formants, Mid/Side
        852452 - Independent Phase
        852453 - Preserve Formants, Independent Phase
        852454 - Mid/Side, Independent Phase
        852455 - Preserve Formants, Mid/Side, Independent Phase
        852456 - Time Domain Smoothing
        852457 - Preserve Formants, Time Domain Smoothing
        852458 - Mid/Side, Time Domain Smoothing
        852459 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852460 - Independent Phase, Time Domain Smoothing
        852461 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852462 - Mid/Side, Independent Phase, Time Domain Smoothing
        852463 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Percussive, Window: Short
        852464 - nothing
        852465 - Preserve Formants
        852466 - Mid/Side
        852467 - Preserve Formants, Mid/Side
        852468 - Independent Phase
        852469 - Preserve Formants, Independent Phase
        852470 - Mid/Side, Independent Phase
        852471 - Preserve Formants, Mid/Side, Independent Phase
        852472 - Time Domain Smoothing
        852473 - Preserve Formants, Time Domain Smoothing
        852474 - Mid/Side, Time Domain Smoothing
        852475 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852476 - Independent Phase, Time Domain Smoothing
        852477 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852478 - Mid/Side, Independent Phase, Time Domain Smoothing
        852479 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Percussive, Window: Short
        852480 - nothing
        852481 - Preserve Formants
        852482 - Mid/Side
        852483 - Preserve Formants, Mid/Side
        852484 - Independent Phase
        852485 - Preserve Formants, Independent Phase
        852486 - Mid/Side, Independent Phase
        852487 - Preserve Formants, Mid/Side, Independent Phase
        852488 - Time Domain Smoothing
        852489 - Preserve Formants, Time Domain Smoothing
        852490 - Mid/Side, Time Domain Smoothing
        852491 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852492 - Independent Phase, Time Domain Smoothing
        852493 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852494 - Mid/Side, Independent Phase, Time Domain Smoothing
        852495 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Soft, Window: Short
        852496 - nothing
        852497 - Preserve Formants
        852498 - Mid/Side
        852499 - Preserve Formants, Mid/Side
        852500 - Independent Phase
        852501 - Preserve Formants, Independent Phase
        852502 - Mid/Side, Independent Phase
        852503 - Preserve Formants, Mid/Side, Independent Phase
        852504 - Time Domain Smoothing
        852505 - Preserve Formants, Time Domain Smoothing
        852506 - Mid/Side, Time Domain Smoothing
        852507 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852508 - Independent Phase, Time Domain Smoothing
        852509 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852510 - Mid/Side, Independent Phase, Time Domain Smoothing
        852511 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Soft, Window: Short
        852512 - nothing
        852513 - Preserve Formants
        852514 - Mid/Side
        852515 - Preserve Formants, Mid/Side
        852516 - Independent Phase
        852517 - Preserve Formants, Independent Phase
        852518 - Mid/Side, Independent Phase
        852519 - Preserve Formants, Mid/Side, Independent Phase
        852520 - Time Domain Smoothing
        852521 - Preserve Formants, Time Domain Smoothing
        852522 - Mid/Side, Time Domain Smoothing
        852523 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852524 - Independent Phase, Time Domain Smoothing
        852525 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852526 - Mid/Side, Independent Phase, Time Domain Smoothing
        852527 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Soft, Window: Short
        852528 - nothing
        852529 - Preserve Formants
        852530 - Mid/Side
        852531 - Preserve Formants, Mid/Side
        852532 - Independent Phase
        852533 - Preserve Formants, Independent Phase
        852534 - Mid/Side, Independent Phase
        852535 - Preserve Formants, Mid/Side, Independent Phase
        852536 - Time Domain Smoothing
        852537 - Preserve Formants, Time Domain Smoothing
        852538 - Mid/Side, Time Domain Smoothing
        852539 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852540 - Independent Phase, Time Domain Smoothing
        852541 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852542 - Mid/Side, Independent Phase, Time Domain Smoothing
        852543 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Pitch Mode: HighQ, Window: Short
        852544 - nothing
        852545 - Preserve Formants
        852546 - Mid/Side
        852547 - Preserve Formants, Mid/Side
        852548 - Independent Phase
        852549 - Preserve Formants, Independent Phase
        852550 - Mid/Side, Independent Phase
        852551 - Preserve Formants, Mid/Side, Independent Phase
        852552 - Time Domain Smoothing
        852553 - Preserve Formants, Time Domain Smoothing
        852554 - Mid/Side, Time Domain Smoothing
        852555 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852556 - Independent Phase, Time Domain Smoothing
        852557 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852558 - Mid/Side, Independent Phase, Time Domain Smoothing
        852559 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Pitch Mode: HighQ, Window: Short
        852560 - nothing
        852561 - Preserve Formants
        852562 - Mid/Side
        852563 - Preserve Formants, Mid/Side
        852564 - Independent Phase
        852565 - Preserve Formants, Independent Phase
        852566 - Mid/Side, Independent Phase
        852567 - Preserve Formants, Mid/Side, Independent Phase
        852568 - Time Domain Smoothing
        852569 - Preserve Formants, Time Domain Smoothing
        852570 - Mid/Side, Time Domain Smoothing
        852571 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852572 - Independent Phase, Time Domain Smoothing
        852573 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852574 - Mid/Side, Independent Phase, Time Domain Smoothing
        852575 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Pitch Mode: HighQ, Window: Short
        852576 - nothing
        852577 - Preserve Formants
        852578 - Mid/Side
        852579 - Preserve Formants, Mid/Side
        852580 - Independent Phase
        852581 - Preserve Formants, Independent Phase
        852582 - Mid/Side, Independent Phase
        852583 - Preserve Formants, Mid/Side, Independent Phase
        852584 - Time Domain Smoothing
        852585 - Preserve Formants, Time Domain Smoothing
        852586 - Mid/Side, Time Domain Smoothing
        852587 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852588 - Independent Phase, Time Domain Smoothing
        852589 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852590 - Mid/Side, Independent Phase, Time Domain Smoothing
        852591 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Percussive, Pitch Mode: HighQ, Window: Short
        852592 - nothing
        852593 - Preserve Formants
        852594 - Mid/Side
        852595 - Preserve Formants, Mid/Side
        852596 - Independent Phase
        852597 - Preserve Formants, Independent Phase
        852598 - Mid/Side, Independent Phase
        852599 - Preserve Formants, Mid/Side, Independent Phase
        852600 - Time Domain Smoothing
        852601 - Preserve Formants, Time Domain Smoothing
        852602 - Mid/Side, Time Domain Smoothing
        852603 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852604 - Independent Phase, Time Domain Smoothing
        852605 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852606 - Mid/Side, Independent Phase, Time Domain Smoothing
        852607 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Percussive, Pitch Mode: HighQ, Window: Short
        852608 - nothing
        852609 - Preserve Formants
        852610 - Mid/Side
        852611 - Preserve Formants, Mid/Side
        852612 - Independent Phase
        852613 - Preserve Formants, Independent Phase
        852614 - Mid/Side, Independent Phase
        852615 - Preserve Formants, Mid/Side, Independent Phase
        852616 - Time Domain Smoothing
        852617 - Preserve Formants, Time Domain Smoothing
        852618 - Mid/Side, Time Domain Smoothing
        852619 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852620 - Independent Phase, Time Domain Smoothing
        852621 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852622 - Mid/Side, Independent Phase, Time Domain Smoothing
        852623 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Percussive, Pitch Mode: HighQ, Window: Short
        852624 - nothing
        852625 - Preserve Formants
        852626 - Mid/Side
        852627 - Preserve Formants, Mid/Side
        852628 - Independent Phase
        852629 - Preserve Formants, Independent Phase
        852630 - Mid/Side, Independent Phase
        852631 - Preserve Formants, Mid/Side, Independent Phase
        852632 - Time Domain Smoothing
        852633 - Preserve Formants, Time Domain Smoothing
        852634 - Mid/Side, Time Domain Smoothing
        852635 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852636 - Independent Phase, Time Domain Smoothing
        852637 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852638 - Mid/Side, Independent Phase, Time Domain Smoothing
        852639 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Soft, Pitch Mode: HighQ, Window: Short
        852640 - nothing
        852641 - Preserve Formants
        852642 - Mid/Side
        852643 - Preserve Formants, Mid/Side
        852644 - Independent Phase
        852645 - Preserve Formants, Independent Phase
        852646 - Mid/Side, Independent Phase
        852647 - Preserve Formants, Mid/Side, Independent Phase
        852648 - Time Domain Smoothing
        852649 - Preserve Formants, Time Domain Smoothing
        852650 - Mid/Side, Time Domain Smoothing
        852651 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852652 - Independent Phase, Time Domain Smoothing
        852653 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852654 - Mid/Side, Independent Phase, Time Domain Smoothing
        852655 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Soft, Pitch Mode: HighQ, Window: Short
        852656 - nothing
        852657 - Preserve Formants
        852658 - Mid/Side
        852659 - Preserve Formants, Mid/Side
        852660 - Independent Phase
        852661 - Preserve Formants, Independent Phase
        852662 - Mid/Side, Independent Phase
        852663 - Preserve Formants, Mid/Side, Independent Phase
        852664 - Time Domain Smoothing
        852665 - Preserve Formants, Time Domain Smoothing
        852666 - Mid/Side, Time Domain Smoothing
        852667 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852668 - Independent Phase, Time Domain Smoothing
        852669 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852670 - Mid/Side, Independent Phase, Time Domain Smoothing
        852671 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Soft, Pitch Mode: HighQ, Window: Short
        852672 - nothing
        852673 - Preserve Formants
        852674 - Mid/Side
        852675 - Preserve Formants, Mid/Side
        852676 - Independent Phase
        852677 - Preserve Formants, Independent Phase
        852678 - Mid/Side, Independent Phase
        852679 - Preserve Formants, Mid/Side, Independent Phase
        852680 - Time Domain Smoothing
        852681 - Preserve Formants, Time Domain Smoothing
        852682 - Mid/Side, Time Domain Smoothing
        852683 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852684 - Independent Phase, Time Domain Smoothing
        852685 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852686 - Mid/Side, Independent Phase, Time Domain Smoothing
        852687 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Pitch Mode: Consistent, Window: Short
        852688 - nothing
        852689 - Preserve Formants
        852690 - Mid/Side
        852691 - Preserve Formants, Mid/Side
        852692 - Independent Phase
        852693 - Preserve Formants, Independent Phase
        852694 - Mid/Side, Independent Phase
        852695 - Preserve Formants, Mid/Side, Independent Phase
        852696 - Time Domain Smoothing
        852697 - Preserve Formants, Time Domain Smoothing
        852698 - Mid/Side, Time Domain Smoothing
        852699 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852700 - Independent Phase, Time Domain Smoothing
        852701 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852702 - Mid/Side, Independent Phase, Time Domain Smoothing
        852703 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Pitch Mode: Consistent, Window: Short
        852704 - nothing
        852705 - Preserve Formants
        852706 - Mid/Side
        852707 - Preserve Formants, Mid/Side
        852708 - Independent Phase
        852709 - Preserve Formants, Independent Phase
        852710 - Mid/Side, Independent Phase
        852711 - Preserve Formants, Mid/Side, Independent Phase
        852712 - Time Domain Smoothing
        852713 - Preserve Formants, Time Domain Smoothing
        852714 - Mid/Side, Time Domain Smoothing
        852715 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852716 - Independent Phase, Time Domain Smoothing
        852717 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852718 - Mid/Side, Independent Phase, Time Domain Smoothing
        852719 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Pitch Mode: Consistent, Window: Short
        852720 - nothing
        852721 - Preserve Formants
        852722 - Mid/Side
        852723 - Preserve Formants, Mid/Side
        852724 - Independent Phase
        852725 - Preserve Formants, Independent Phase
        852726 - Mid/Side, Independent Phase
        852727 - Preserve Formants, Mid/Side, Independent Phase
        852728 - Time Domain Smoothing
        852729 - Preserve Formants, Time Domain Smoothing
        852730 - Mid/Side, Time Domain Smoothing
        852731 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852732 - Independent Phase, Time Domain Smoothing
        852733 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852734 - Mid/Side, Independent Phase, Time Domain Smoothing
        852735 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Percussive, Pitch Mode: Consistent, Window: Short
        852736 - nothing
        852737 - Preserve Formants
        852738 - Mid/Side
        852739 - Preserve Formants, Mid/Side
        852740 - Independent Phase
        852741 - Preserve Formants, Independent Phase
        852742 - Mid/Side, Independent Phase
        852743 - Preserve Formants, Mid/Side, Independent Phase
        852744 - Time Domain Smoothing
        852745 - Preserve Formants, Time Domain Smoothing
        852746 - Mid/Side, Time Domain Smoothing
        852747 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852748 - Independent Phase, Time Domain Smoothing
        852749 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852750 - Mid/Side, Independent Phase, Time Domain Smoothing
        852751 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Percussive, Pitch Mode: Consistent, Window: Short
        852752 - nothing
        852753 - Preserve Formants
        852754 - Mid/Side
        852755 - Preserve Formants, Mid/Side
        852756 - Independent Phase
        852757 - Preserve Formants, Independent Phase
        852758 - Mid/Side, Independent Phase
        852759 - Preserve Formants, Mid/Side, Independent Phase
        852760 - Time Domain Smoothing
        852761 - Preserve Formants, Time Domain Smoothing
        852762 - Mid/Side, Time Domain Smoothing
        852763 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852764 - Independent Phase, Time Domain Smoothing
        852765 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852766 - Mid/Side, Independent Phase, Time Domain Smoothing
        852767 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Percussive, Pitch Mode: Consistent, Window: Short
        852768 - nothing
        852769 - Preserve Formants
        852770 - Mid/Side
        852771 - Preserve Formants, Mid/Side
        852772 - Independent Phase
        852773 - Preserve Formants, Independent Phase
        852774 - Mid/Side, Independent Phase
        852775 - Preserve Formants, Mid/Side, Independent Phase
        852776 - Time Domain Smoothing
        852777 - Preserve Formants, Time Domain Smoothing
        852778 - Mid/Side, Time Domain Smoothing
        852779 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852780 - Independent Phase, Time Domain Smoothing
        852781 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852782 - Mid/Side, Independent Phase, Time Domain Smoothing
        852783 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Soft, Pitch Mode: Consistent, Window: Short
        852784 - nothing
        852785 - Preserve Formants
        852786 - Mid/Side
        852787 - Preserve Formants, Mid/Side
        852788 - Independent Phase
        852789 - Preserve Formants, Independent Phase
        852790 - Mid/Side, Independent Phase
        852791 - Preserve Formants, Mid/Side, Independent Phase
        852792 - Time Domain Smoothing
        852793 - Preserve Formants, Time Domain Smoothing
        852794 - Mid/Side, Time Domain Smoothing
        852795 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852796 - Independent Phase, Time Domain Smoothing
        852797 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852798 - Mid/Side, Independent Phase, Time Domain Smoothing
        852799 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Soft, Pitch Mode: Consistent, Window: Short
        852800 - nothing
        852801 - Preserve Formants
        852802 - Mid/Side
        852803 - Preserve Formants, Mid/Side
        852804 - Independent Phase
        852805 - Preserve Formants, Independent Phase
        852806 - Mid/Side, Independent Phase
        852807 - Preserve Formants, Mid/Side, Independent Phase
        852808 - Time Domain Smoothing
        852809 - Preserve Formants, Time Domain Smoothing
        852810 - Mid/Side, Time Domain Smoothing
        852811 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852812 - Independent Phase, Time Domain Smoothing
        852813 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852814 - Mid/Side, Independent Phase, Time Domain Smoothing
        852815 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Soft, Pitch Mode: Consistent, Window: Short
        852816 - nothing
        852817 - Preserve Formants
        852818 - Mid/Side
        852819 - Preserve Formants, Mid/Side
        852820 - Independent Phase
        852821 - Preserve Formants, Independent Phase
        852822 - Mid/Side, Independent Phase
        852823 - Preserve Formants, Mid/Side, Independent Phase
        852824 - Time Domain Smoothing
        852825 - Preserve Formants, Time Domain Smoothing
        852826 - Mid/Side, Time Domain Smoothing
        852827 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852828 - Independent Phase, Time Domain Smoothing
        852829 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852830 - Mid/Side, Independent Phase, Time Domain Smoothing
        852831 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Window: Long
        852832 - nothing
        852833 - Preserve Formants
        852834 - Mid/Side
        852835 - Preserve Formants, Mid/Side
        852836 - Independent Phase
        852837 - Preserve Formants, Independent Phase
        852838 - Mid/Side, Independent Phase
        852839 - Preserve Formants, Mid/Side, Independent Phase
        852840 - Time Domain Smoothing
        852841 - Preserve Formants, Time Domain Smoothing
        852842 - Mid/Side, Time Domain Smoothing
        852843 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852844 - Independent Phase, Time Domain Smoothing
        852845 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852846 - Mid/Side, Independent Phase, Time Domain Smoothing
        852847 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Window: Long
        852848 - nothing
        852849 - Preserve Formants
        852850 - Mid/Side
        852851 - Preserve Formants, Mid/Side
        852852 - Independent Phase
        852853 - Preserve Formants, Independent Phase
        852854 - Mid/Side, Independent Phase
        852855 - Preserve Formants, Mid/Side, Independent Phase
        852856 - Time Domain Smoothing
        852857 - Preserve Formants, Time Domain Smoothing
        852858 - Mid/Side, Time Domain Smoothing
        852859 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852860 - Independent Phase, Time Domain Smoothing
        852861 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852862 - Mid/Side, Independent Phase, Time Domain Smoothing
        852863 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Window: Long
        852864 - nothing
        852865 - Preserve Formants
        852866 - Mid/Side
        852867 - Preserve Formants, Mid/Side
        852868 - Independent Phase
        852869 - Preserve Formants, Independent Phase
        852870 - Mid/Side, Independent Phase
        852871 - Preserve Formants, Mid/Side, Independent Phase
        852872 - Time Domain Smoothing
        852873 - Preserve Formants, Time Domain Smoothing
        852874 - Mid/Side, Time Domain Smoothing
        852875 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852876 - Independent Phase, Time Domain Smoothing
        852877 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852878 - Mid/Side, Independent Phase, Time Domain Smoothing
        852879 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Percussive, Window: Long
        852880 - nothing
        852881 - Preserve Formants
        852882 - Mid/Side
        852883 - Preserve Formants, Mid/Side
        852884 - Independent Phase
        852885 - Preserve Formants, Independent Phase
        852886 - Mid/Side, Independent Phase
        852887 - Preserve Formants, Mid/Side, Independent Phase
        852888 - Time Domain Smoothing
        852889 - Preserve Formants, Time Domain Smoothing
        852890 - Mid/Side, Time Domain Smoothing
        852891 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852892 - Independent Phase, Time Domain Smoothing
        852893 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852894 - Mid/Side, Independent Phase, Time Domain Smoothing
        852895 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Percussive, Window: Long
        852896 - nothing
        852897 - Preserve Formants
        852898 - Mid/Side
        852899 - Preserve Formants, Mid/Side
        852900 - Independent Phase
        852901 - Preserve Formants, Independent Phase
        852902 - Mid/Side, Independent Phase
        852903 - Preserve Formants, Mid/Side, Independent Phase
        852904 - Time Domain Smoothing
        852905 - Preserve Formants, Time Domain Smoothing
        852906 - Mid/Side, Time Domain Smoothing
        852907 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852908 - Independent Phase, Time Domain Smoothing
        852909 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852910 - Mid/Side, Independent Phase, Time Domain Smoothing
        852911 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Percussive, Window: Long
        852912 - nothing
        852913 - Preserve Formants
        852914 - Mid/Side
        852915 - Preserve Formants, Mid/Side
        852916 - Independent Phase
        852917 - Preserve Formants, Independent Phase
        852918 - Mid/Side, Independent Phase
        852919 - Preserve Formants, Mid/Side, Independent Phase
        852920 - Time Domain Smoothing
        852921 - Preserve Formants, Time Domain Smoothing
        852922 - Mid/Side, Time Domain Smoothing
        852923 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852924 - Independent Phase, Time Domain Smoothing
        852925 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852926 - Mid/Side, Independent Phase, Time Domain Smoothing
        852927 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Soft, Window: Long
        852928 - nothing
        852929 - Preserve Formants
        852930 - Mid/Side
        852931 - Preserve Formants, Mid/Side
        852932 - Independent Phase
        852933 - Preserve Formants, Independent Phase
        852934 - Mid/Side, Independent Phase
        852935 - Preserve Formants, Mid/Side, Independent Phase
        852936 - Time Domain Smoothing
        852937 - Preserve Formants, Time Domain Smoothing
        852938 - Mid/Side, Time Domain Smoothing
        852939 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852940 - Independent Phase, Time Domain Smoothing
        852941 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852942 - Mid/Side, Independent Phase, Time Domain Smoothing
        852943 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Soft, Window: Long
        852944 - nothing
        852945 - Preserve Formants
        852946 - Mid/Side
        852947 - Preserve Formants, Mid/Side
        852948 - Independent Phase
        852949 - Preserve Formants, Independent Phase
        852950 - Mid/Side, Independent Phase
        852951 - Preserve Formants, Mid/Side, Independent Phase
        852952 - Time Domain Smoothing
        852953 - Preserve Formants, Time Domain Smoothing
        852954 - Mid/Side, Time Domain Smoothing
        852955 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852956 - Independent Phase, Time Domain Smoothing
        852957 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852958 - Mid/Side, Independent Phase, Time Domain Smoothing
        852959 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Soft, Window: Long
        852960 - nothing
        852961 - Preserve Formants
        852962 - Mid/Side
        852963 - Preserve Formants, Mid/Side
        852964 - Independent Phase
        852965 - Preserve Formants, Independent Phase
        852966 - Mid/Side, Independent Phase
        852967 - Preserve Formants, Mid/Side, Independent Phase
        852968 - Time Domain Smoothing
        852969 - Preserve Formants, Time Domain Smoothing
        852970 - Mid/Side, Time Domain Smoothing
        852971 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852972 - Independent Phase, Time Domain Smoothing
        852973 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852974 - Mid/Side, Independent Phase, Time Domain Smoothing
        852975 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Pitch Mode: HighQ, Window: Long
        852976 - nothing
        852977 - Preserve Formants
        852978 - Mid/Side
        852979 - Preserve Formants, Mid/Side
        852980 - Independent Phase
        852981 - Preserve Formants, Independent Phase
        852982 - Mid/Side, Independent Phase
        852983 - Preserve Formants, Mid/Side, Independent Phase
        852984 - Time Domain Smoothing
        852985 - Preserve Formants, Time Domain Smoothing
        852986 - Mid/Side, Time Domain Smoothing
        852987 - Preserve Formants, Mid/Side, Time Domain Smoothing
        852988 - Independent Phase, Time Domain Smoothing
        852989 - Preserve Formants, Independent Phase, Time Domain Smoothing
        852990 - Mid/Side, Independent Phase, Time Domain Smoothing
        852991 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Pitch Mode: HighQ, Window: Long
        852992 - nothing
        852993 - Preserve Formants
        852994 - Mid/Side
        852995 - Preserve Formants, Mid/Side
        852996 - Independent Phase
        852997 - Preserve Formants, Independent Phase
        852998 - Mid/Side, Independent Phase
        852999 - Preserve Formants, Mid/Side, Independent Phase
        853000 - Time Domain Smoothing
        853001 - Preserve Formants, Time Domain Smoothing
        853002 - Mid/Side, Time Domain Smoothing
        853003 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853004 - Independent Phase, Time Domain Smoothing
        853005 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853006 - Mid/Side, Independent Phase, Time Domain Smoothing
        853007 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Pitch Mode: HighQ, Window: Long
        853008 - nothing
        853009 - Preserve Formants
        853010 - Mid/Side
        853011 - Preserve Formants, Mid/Side
        853012 - Independent Phase
        853013 - Preserve Formants, Independent Phase
        853014 - Mid/Side, Independent Phase
        853015 - Preserve Formants, Mid/Side, Independent Phase
        853016 - Time Domain Smoothing
        853017 - Preserve Formants, Time Domain Smoothing
        853018 - Mid/Side, Time Domain Smoothing
        853019 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853020 - Independent Phase, Time Domain Smoothing
        853021 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853022 - Mid/Side, Independent Phase, Time Domain Smoothing
        853023 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Percussive, Pitch Mode: HighQ, Window: Long
        853024 - nothing
        853025 - Preserve Formants
        853026 - Mid/Side
        853027 - Preserve Formants, Mid/Side
        853028 - Independent Phase
        853029 - Preserve Formants, Independent Phase
        853030 - Mid/Side, Independent Phase
        853031 - Preserve Formants, Mid/Side, Independent Phase
        853032 - Time Domain Smoothing
        853033 - Preserve Formants, Time Domain Smoothing
        853034 - Mid/Side, Time Domain Smoothing
        853035 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853036 - Independent Phase, Time Domain Smoothing
        853037 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853038 - Mid/Side, Independent Phase, Time Domain Smoothing
        853039 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Percussive, Pitch Mode: HighQ, Window: Long
        853040 - nothing
        853041 - Preserve Formants
        853042 - Mid/Side
        853043 - Preserve Formants, Mid/Side
        853044 - Independent Phase
        853045 - Preserve Formants, Independent Phase
        853046 - Mid/Side, Independent Phase
        853047 - Preserve Formants, Mid/Side, Independent Phase
        853048 - Time Domain Smoothing
        853049 - Preserve Formants, Time Domain Smoothing
        853050 - Mid/Side, Time Domain Smoothing
        853051 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853052 - Independent Phase, Time Domain Smoothing
        853053 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853054 - Mid/Side, Independent Phase, Time Domain Smoothing
        853055 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Percussive, Pitch Mode: HighQ, Window: Long
        853056 - nothing
        853057 - Preserve Formants
        853058 - Mid/Side
        853059 - Preserve Formants, Mid/Side
        853060 - Independent Phase
        853061 - Preserve Formants, Independent Phase
        853062 - Mid/Side, Independent Phase
        853063 - Preserve Formants, Mid/Side, Independent Phase
        853064 - Time Domain Smoothing
        853065 - Preserve Formants, Time Domain Smoothing
        853066 - Mid/Side, Time Domain Smoothing
        853067 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853068 - Independent Phase, Time Domain Smoothing
        853069 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853070 - Mid/Side, Independent Phase, Time Domain Smoothing
        853071 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Soft, Pitch Mode: HighQ, Window: Long
        853072 - nothing
        853073 - Preserve Formants
        853074 - Mid/Side
        853075 - Preserve Formants, Mid/Side
        853076 - Independent Phase
        853077 - Preserve Formants, Independent Phase
        853078 - Mid/Side, Independent Phase
        853079 - Preserve Formants, Mid/Side, Independent Phase
        853080 - Time Domain Smoothing
        853081 - Preserve Formants, Time Domain Smoothing
        853082 - Mid/Side, Time Domain Smoothing
        853083 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853084 - Independent Phase, Time Domain Smoothing
        853085 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853086 - Mid/Side, Independent Phase, Time Domain Smoothing
        853087 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Soft, Pitch Mode: HighQ, Window: Long
        853088 - nothing
        853089 - Preserve Formants
        853090 - Mid/Side
        853091 - Preserve Formants, Mid/Side
        853092 - Independent Phase
        853093 - Preserve Formants, Independent Phase
        853094 - Mid/Side, Independent Phase
        853095 - Preserve Formants, Mid/Side, Independent Phase
        853096 - Time Domain Smoothing
        853097 - Preserve Formants, Time Domain Smoothing
        853098 - Mid/Side, Time Domain Smoothing
        853099 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853100 - Independent Phase, Time Domain Smoothing
        853101 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853102 - Mid/Side, Independent Phase, Time Domain Smoothing
        853103 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Soft, Pitch Mode: HighQ, Window: Long
        853104 - nothing
        853105 - Preserve Formants
        853106 - Mid/Side
        853107 - Preserve Formants, Mid/Side
        853108 - Independent Phase
        853109 - Preserve Formants, Independent Phase
        853110 - Mid/Side, Independent Phase
        853111 - Preserve Formants, Mid/Side, Independent Phase
        853112 - Time Domain Smoothing
        853113 - Preserve Formants, Time Domain Smoothing
        853114 - Mid/Side, Time Domain Smoothing
        853115 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853116 - Independent Phase, Time Domain Smoothing
        853117 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853118 - Mid/Side, Independent Phase, Time Domain Smoothing
        853119 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Pitch Mode: Consistent, Window: Long
        853120 - nothing
        853121 - Preserve Formants
        853122 - Mid/Side
        853123 - Preserve Formants, Mid/Side
        853124 - Independent Phase
        853125 - Preserve Formants, Independent Phase
        853126 - Mid/Side, Independent Phase
        853127 - Preserve Formants, Mid/Side, Independent Phase
        853128 - Time Domain Smoothing
        853129 - Preserve Formants, Time Domain Smoothing
        853130 - Mid/Side, Time Domain Smoothing
        853131 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853132 - Independent Phase, Time Domain Smoothing
        853133 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853134 - Mid/Side, Independent Phase, Time Domain Smoothing
        853135 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Pitch Mode: Consistent, Window: Long
        853136 - nothing
        853137 - Preserve Formants
        853138 - Mid/Side
        853139 - Preserve Formants, Mid/Side
        853140 - Independent Phase
        853141 - Preserve Formants, Independent Phase
        853142 - Mid/Side, Independent Phase
        853143 - Preserve Formants, Mid/Side, Independent Phase
        853144 - Time Domain Smoothing
        853145 - Preserve Formants, Time Domain Smoothing
        853146 - Mid/Side, Time Domain Smoothing
        853147 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853148 - Independent Phase, Time Domain Smoothing
        853149 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853150 - Mid/Side, Independent Phase, Time Domain Smoothing
        853151 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Pitch Mode: Consistent, Window: Long
        853152 - nothing
        853153 - Preserve Formants
        853154 - Mid/Side
        853155 - Preserve Formants, Mid/Side
        853156 - Independent Phase
        853157 - Preserve Formants, Independent Phase
        853158 - Mid/Side, Independent Phase
        853159 - Preserve Formants, Mid/Side, Independent Phase
        853160 - Time Domain Smoothing
        853161 - Preserve Formants, Time Domain Smoothing
        853162 - Mid/Side, Time Domain Smoothing
        853163 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853164 - Independent Phase, Time Domain Smoothing
        853165 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853166 - Mid/Side, Independent Phase, Time Domain Smoothing
        853167 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Percussive, Pitch Mode: Consistent, Window: Long
        853168 - nothing
        853169 - Preserve Formants
        853170 - Mid/Side
        853171 - Preserve Formants, Mid/Side
        853172 - Independent Phase
        853173 - Preserve Formants, Independent Phase
        853174 - Mid/Side, Independent Phase
        853175 - Preserve Formants, Mid/Side, Independent Phase
        853176 - Time Domain Smoothing
        853177 - Preserve Formants, Time Domain Smoothing
        853178 - Mid/Side, Time Domain Smoothing
        853179 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853180 - Independent Phase, Time Domain Smoothing
        853181 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853182 - Mid/Side, Independent Phase, Time Domain Smoothing
        853183 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Percussive, Pitch Mode: Consistent, Window: Long
        853184 - nothing
        853185 - Preserve Formants
        853186 - Mid/Side
        853187 - Preserve Formants, Mid/Side
        853188 - Independent Phase
        853189 - Preserve Formants, Independent Phase
        853190 - Mid/Side, Independent Phase
        853191 - Preserve Formants, Mid/Side, Independent Phase
        853192 - Time Domain Smoothing
        853193 - Preserve Formants, Time Domain Smoothing
        853194 - Mid/Side, Time Domain Smoothing
        853195 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853196 - Independent Phase, Time Domain Smoothing
        853197 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853198 - Mid/Side, Independent Phase, Time Domain Smoothing
        853199 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Percussive, Pitch Mode: Consistent, Window: Long
        853200 - nothing
        853201 - Preserve Formants
        853202 - Mid/Side
        853203 - Preserve Formants, Mid/Side
        853204 - Independent Phase
        853205 - Preserve Formants, Independent Phase
        853206 - Mid/Side, Independent Phase
        853207 - Preserve Formants, Mid/Side, Independent Phase
        853208 - Time Domain Smoothing
        853209 - Preserve Formants, Time Domain Smoothing
        853210 - Mid/Side, Time Domain Smoothing
        853211 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853212 - Independent Phase, Time Domain Smoothing
        853213 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853214 - Mid/Side, Independent Phase, Time Domain Smoothing
        853215 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Detector: Soft, Pitch Mode: Consistent, Window: Long
        853216 - nothing
        853217 - Preserve Formants
        853218 - Mid/Side
        853219 - Preserve Formants, Mid/Side
        853220 - Independent Phase
        853221 - Preserve Formants, Independent Phase
        853222 - Mid/Side, Independent Phase
        853223 - Preserve Formants, Mid/Side, Independent Phase
        853224 - Time Domain Smoothing
        853225 - Preserve Formants, Time Domain Smoothing
        853226 - Mid/Side, Time Domain Smoothing
        853227 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853228 - Independent Phase, Time Domain Smoothing
        853229 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853230 - Mid/Side, Independent Phase, Time Domain Smoothing
        853231 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Mixed, Detector: Soft, Pitch Mode: Consistent, Window: Long
        853232 - nothing
        853233 - Preserve Formants
        853234 - Mid/Side
        853235 - Preserve Formants, Mid/Side
        853236 - Independent Phase
        853237 - Preserve Formants, Independent Phase
        853238 - Mid/Side, Independent Phase
        853239 - Preserve Formants, Mid/Side, Independent Phase
        853240 - Time Domain Smoothing
        853241 - Preserve Formants, Time Domain Smoothing
        853242 - Mid/Side, Time Domain Smoothing
        853243 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853244 - Independent Phase, Time Domain Smoothing
        853245 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853246 - Mid/Side, Independent Phase, Time Domain Smoothing
        853247 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

    Rubber Band Library - Transients: Smooth, Detector: Soft, Pitch Mode: Consistent, Window: Long
        853248 - nothing
        853249 - Preserve Formants
        853250 - Mid/Side
        853251 - Preserve Formants, Mid/Side
        853252 - Independent Phase
        853253 - Preserve Formants, Independent Phase
        853254 - Mid/Side, Independent Phase
        853255 - Preserve Formants, Mid/Side, Independent Phase
        853256 - Time Domain Smoothing
        853257 - Preserve Formants, Time Domain Smoothing
        853258 - Mid/Side, Time Domain Smoothing
        853259 - Preserve Formants, Mid/Side, Time Domain Smoothing
        853260 - Independent Phase, Time Domain Smoothing
        853261 - Preserve Formants, Independent Phase, Time Domain Smoothing
        853262 - Mid/Side, Independent Phase, Time Domain Smoothing
        853263 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing

Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer def_pitch_mode_state the default pitch mode
integer stretch_marker_mode the stretch marker mode 0, Balanced 1, Tonal-optimized 2, Transient-optimized 3, No pre-echo reduction
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetProject_EnvAttach

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_EnvAttach(string projectfilename_with_path, integer env_attach, optional string ProjectStateChunk)

Description:

Sets the env_attach-state in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer env_attach env_attach-state
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetProject_Feedback

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_Feedback(string projectfilename_with_path, integer feedback_state, optional string ProjectStateChunk)

Description:

Sets the feedback-state in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer feedback_state feedback-state
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.975 Ultraschall version 4.00SetProject_GlobalAuto

Functioncall:
Lua: integer retval = ultraschall.SetProject_GlobalAuto(string projectfilename_with_path, integer global_auto_state, optional string ProjectStateChunk)

Description:

Sets the global-auto-override-state of an rpp-projectfile or a ProjectStateChunk.

It's the entry GLOBAL_AUTO

This sets the same automation mode to all tracks!

Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer global_auto_state the global automation override state, this sets the same automation mode to all tracks! -1, No global automation override, automation-mode will be set by track 0, trim/read mode 1, read mode 2, touch mode 3, write mode 4, latch mode 5, latch preview mode 6, bypass all automation
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success



^ Reaper version 5.40 Ultraschall version 4.00SetProject_Grid

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_Grid(string projectfilename_with_path, integer gridstate1, integer gridstate2, number gridstate3, integer gridstate4, number gridstate5, integer gridstate6, integer gridstate7, number gridstate8, optional string ProjectStateChunk)

Description:

Sets the setproject-grid-state in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer gridstate1 gridstate1
integer gridstate2 gridstate2
number gridstate3 gridstate3
integer gridstate4 gridstate4
number gridstate5 gridstate5
integer gridstate6 gridstate6
integer gridstate7 gridstate7
number gridstate8 gridstate8
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetProject_HorizontalZoom

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_HorizontalZoom(string projectfilename_with_path, number hzoom, integer hzoomscrollpos, integer scrollbarfactor, optional string ProjectStateChunk)

Description:

Sets the horizontal-zoom in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
number hzoom HorizontalZoomfactor, 0.007 to 1000000
integer hzoomscrollpos horizontalscrollbarposition - 0 - 4294967296
integer scrollbarfactor 0 to 500837, counts up, when maximum hzoomscrollpos overflows
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetProject_ItemMixBehavior

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_ItemMixBehavior(string projectfilename_with_path, integer item_mix_behav_state, optional string ProjectStateChunk)

Description:

Sets the item mix behavior, as set in the project-settings, from an rpp-project-file.
Returns -1 in case of error.

Parameters:
string projectfilename_with_path filename with path of the rpp-project-file
integer item_mix_behav_state item mix behavior 0 - Enclosed items replace enclosing items 1 - Items always mix 2 - Items always replace earlier items

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.975 Ultraschall version 4.00SetProject_Lock

Functioncall:
Lua: integer retval = ultraschall.SetProject_Lock(string projectfilename_with_path, integer lock_state, optional string ProjectStateChunk)

Description:

Sets the Locked-state of an rpp-projectfile or a ProjectStateChunk.

It's the entry LOCK
It is the one before(!) any
It is a bitfield, containing numerous settings.

Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer lock_state the lock-state, which is a bitfield &1 - Time selection &2 - Items (full) &4 - Track envelopes &8 - Markers &16 - Regions &32 - Time signature markers &64 - Items (prevent left/right movement) &128 - Items (prevent up/down movement) &256 - Item edges &512 - Item fade/volume handles &1024 - Loop points locked &2048 - Item envelopes &4096 - Item stretch markers &16384 - Enable locking
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success



^ Reaper version 5.40 Ultraschall version 4.00SetProject_Loop

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_Loop(string projectfilename_with_path, integer loopbutton_state, optional string ProjectStateChunk)

Description:

Sets the UseRec-Config in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer loop_mode loopbutton-state, 0, off; 1, on
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetProject_LoopGran

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_LoopGran(string projectfilename_with_path, integer loopgran_state1, number loopgran_state2, optional string ProjectStateChunk)

Description:

Sets the Loop-Gran-state in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer loopgran_state1 loopgran_state1
number loopgran_state2 loopgran_state2
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.975 Ultraschall version 4.00SetProject_MasterAutomode

Functioncall:
Lua: integer retval = ultraschall.SetProject_MasterAutomode(string projectfilename_with_path, integer automode, optional string ProjectStateChunk)

Description:

Sets the automation-mode for the master-track of an rpp-projectfile or a ProjectStateChunk.

It's the entry MASTERAUTOMODE

This sets the same automation mode to all tracks!

Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer automode the automation mode for the master-track 0, trim/read mode 1, read mode 2, touch mode 3, write mode 4, latch mode 5, latch preview mode
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success



^ Reaper version 5.975 Ultraschall version 4.00SetProject_MasterFXByp

Functioncall:
Lua: integer retval = ultraschall.SetProject_MasterFXByp(string projectfilename_with_path, integer fx_byp_state, optional string ProjectStateChunk)

Description:

Sets the fx-bypass-state for the master-track of an rpp-projectfile or a ProjectStateChunk.

It's the entry MASTER_FX

Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer fx_byp_state the fx-bypass-state; 0, master-track-fx bypassed; 1, master-track-fx normal
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success



^ Reaper version 5.975 Ultraschall version 4.00SetProject_MasterMuteSolo

Functioncall:
Lua: integer retval = ultraschall.SetProject_MasterMuteSolo(string projectfilename_with_path, integer mute_solo_state, optional string ProjectStateChunk)

Description:

Sets the mute/solo-state for the master-track of an rpp-projectfile or a ProjectStateChunk.
Has no exclusive-solo/mute-settings!

It's the entry MASTERMUTESOLO

Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer mute_solo_state the mute-solo-state; it is a bitfield 0, no mute, no solo, Mono mode L+R &1, master-track muted &2, master-track soloed &4, master-track mono-button &8, Mono mode:L &16, Mono mode:R add 24 for Mono mode L-R
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success



^ Reaper version 5.975 Ultraschall version 4.00SetProject_MasterNChans

Functioncall:
Lua: integer retval = ultraschall.SetProject_MasterNChans(string projectfilename_with_path, integer number_of_channels, integer peak_metering, optional string ProjectStateChunk)

Description:

Sets the number of channels and vu-meter-settings for the master-track of an rpp-projectfile or a ProjectStateChunk.

It's the entry MASTER_NCH

Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer number_of_channels the number of output-channels, as set in the "Outputs for the Master Channel -> Track Channels"-dialog
integer peak_metering 2, Multichannel peak metering-setting, as set in the "Master VU settings"-dialog
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success



^ Reaper version 5.975 Ultraschall version 4.00SetProject_MasterPanMode

Functioncall:
Lua: integer retval = ultraschall.SetProject_MasterPanMode(string projectfilename_with_path, integer panmode, integer peak_metering, optional string ProjectStateChunk)

Description:

Sets the panmode for the master-track of an rpp-projectfile or a ProjectStateChunk.

It's the entry MASTER_PANMODE

Returns -1 in case of error.


Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer panmode the panmode for the master-track; -1, Project default (Stereo balance) 3, Stereo balance / mono pan(default) 5, Stereo Pan 6, Dual Pan nil, REAPER 3.x balance(deprecated)
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success



^ Reaper version 5.975 Ultraschall version 4.00SetProject_MasterSel

Functioncall:
Lua: integer retval = ultraschall.SetProject_MasterSel(string projectfilename_with_path, integer selection_state, optional string ProjectStateChunk)

Description:

Sets the selection-state for the master-track of an rpp-projectfile or a ProjectStateChunk.

It's the entry MASTER_SEL

This sets the same automation mode to all tracks!

Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer selection_state the selection-state of the MasterTrack; 0, unselected; 1, selected
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success



^ Reaper version 5.975 Ultraschall version 4.00SetProject_MasterTrackColor

Functioncall:
Lua: integer retval = ultraschall.SetProject_MasterTrackColor(string projectfilename_with_path, integer color, integer peak_metering, optional string ProjectStateChunk)

Description:

Sets the color for the master-track of an rpp-projectfile or a ProjectStateChunk.

To generate the correct color-value, use ConvertColor. Note: This color reverses red and blue component on Mac, so it looks different on Mac compared to Windows and Linux!

It's the entry MASTERPEAKCOL

Returns -1 in case of error.


Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer color the color-value of the MasterTrack
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success



^ Reaper version 5.975 Ultraschall version 4.00SetProject_MasterTrackHeight

Functioncall:
Lua: integer retval = ultraschall.SetProject_MasterTrackHeight(string projectfilename_with_path, integer height_state, integer height_lock, optional string ProjectStateChunk)

Description:

Sets the trackheight for the master-track of an rpp-projectfile or a ProjectStateChunk.

It's the entry MASTERTRACKHEIGHT

Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer height_state the current-height of the master-track, from 24 to 260
integer height_lock 0, height-lock is off; 1, height-lock is on
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success



^ Reaper version 6.02 Ultraschall version 4.00SetProject_MasterTrackView

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_MasterTrackView(string projectfilename_with_path, integer tcp_visibility, number state2, number state3, number state4, integer state5, integer state6, integer state7, optional string ProjectStatechunk)

Description:

Sets the master-view-state of the master-track of the project or a ProjectStateChunk.

It is the entry: MASTERTRACKVIEW

Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer tcp_visibility 0, Master-track is invisible in MCP; 1, Master-track is visible in MCP
number state2 unknown
number state3 unknown
number state4 unknown
integer state5 unknown
integer state6 unknown
integer state7 unknown
integer state8 unknown
integer state9 unknown
integer state10 unknown
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetProject_MaxProjectLength

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_MaxProjectLength(string projectfilename_with_path, integer limit_project_length, number projectlength_limit, optional string ProjectStateChunk)

Description:

Sets the max-project-length-state, as set in the project-settings, from an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer limit_project_length checkbox "Limit project length, stop playback/recording at:" - 0 off, 1 on
number projectlength_limit projectlength-limit in seconds
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetProject_MixerUIFlags

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_MixerUIFlags(string projectfilename_with_path, integer state_bitfield1, integer state_bitfield2, optional string ProjectStateChunk)

Description:

Sets the Mixer-UI-state-flags in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer state_bitfield1 folders, receives, etc 0 - Show tracks in folders, Auto arrange tracks in mixer 1 - Show normal top level tracks 2 - Show Folders 4 - Group folders to left 8 - Show tracks that have receives 16 - Group tracks that have receives to left 32 - don't show tracks that are in folder 64 - No Autoarrange tracks in mixer 128 - ? 256 - ?
integer state_bitfield2 master-track, FX, Mixer 0 - Master track in mixer 1 - Don't show multiple rows of tracks, when size permits 2 - Show maximum rows even when tracks would fit in less rows 4 - Master Show on right side of mixer 8 - ? 16 - Show FX inserts when size permits 32 - Show sends when size permits 64 - Show tracks in mixer 128 - Show FX parameters, when size permits 256 - Don't show Master track in mixer
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetProject_PanLaw

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_PanLaw(string projectfilename_with_path, number panlaw_state, optional string ProjectStateChunk)

Description:

Sets the panlaw-state, as set in the project-settings, from an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
number panlaw_state state of the panlaw, as set in the project-settings->Advanced->Pan law/mode->Pan:law(db). 0.5(-6.02 db) to 1(default +0.0 db)
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetProject_PanMode

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_PanMode(string projectfilename_with_path, integer panmode_state, optional string ProjectStateChunk)

Description:

Sets the panmode-settings, as set in the project-settings, from an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer panmode_state panmode-state - ProjectSettings->Advanced->Pan law/mode->Pan mode 0 reaper 3.x balance (deprecated) 3 Stereo balance / mono pan (default) 5 Stereo pan 6 Dual Pan
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetProject_PeakGain

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_PeakGain(string projectfilename_with_path, number peakgain_state, optional string ProjectStateChunk)

Description:

Sets the peak-gain-state in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
number peakgain_state peak-gain-state
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.975 Ultraschall version 4.00SetProject_Playrate

Functioncall:
Lua: integer retval = ultraschall.SetProject_Playrate(string projectfilename_with_path, number playrate, integer preserve_pitch, number min_playrate, number max_playrate, optional string ProjectStateChunk)

Description:

Sets the playrate of an rpp-projectfile or a ProjectStateChunk.

It's the entry PLAYRATE

Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
number playrate the currently set playrate; 0.01 to 10
integer preserve_pitch 0, don't preserve pitch, when changing playrate; 1, preserve pitch, when chaning playrate
number min_playrate the minimum playrate possible in the project; 0.01 to 10
number max_playrate the maximum playrate possible in the project; 0.01 to 10
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success



^ Reaper version 5.941 Ultraschall version 4.00SetProject_ProjOffsets

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_ProjOffsets(string projectfilename_with_path, number start_time, integer start_measure, integer base_ruler_marking_off_this_measure, optional ProjectStateChunk)

Description:

Sets the project-offset-state, as set in the project-settings, from an rpp-project-file or a ProjectStateChunk.

The project-offset, as set in the ProjectSettings -> Project Time Start, Project start measure and Base Ruler Marking Off This Measure-checkbox

Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
number start_time the project-start-time in seconds
integer start_measure the start-measure; starting with 0, unlike in the Project-Settings-window, where the 0 becomes 1 as startmeasure
integer base_ruler_marking_off_this_measure 0, checkbox unchecked; 1, checkbox checked
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetProject_RecMode

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_RecMode(string projectfilename_with_path, integer rec_mode, optional string ProjectStateChunk)

Description:

Sets the recording-mode-state in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer rec_mode recording mode 0, Autopunch/Selected Items 1, normal 2, Time Selection/Auto Punch
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetProject_RecPath

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_RecPath(string projectfilename_with_path, string prim_recpath, string sec_recpath, optional string ProjectStateChunk)

Description:

Sets the primary and secondary recording-paths in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
string prim_recpath primary recording path
string sec_recpath secondary recording path
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetProject_RecordCFG

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_RecordCFG(string projectfilename_with_path, string recording_cfg_string, optional string ProjectStateChunk)

Description:

Sets the recording-configuration as encoded string in an RPP-Projectfile or a ProjectStateChunk, as set in ProjectSettings->Media->Recording.

Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
recording_cfg_string the record-configuration as encoded string
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 6.04 Ultraschall version 4.00SetProject_RenderCFG

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_RenderCFG(string projectfilename_with_path, string rendercfg_string, string rendercfg_string2, optional string ProjectStateChunk)

Description:

Sets the primary and secondary render-configuration as encoded string in an RPP-Projectfile or a ProjectStateChunk, as set in Render-Settings

Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
rendercfg_string the render-configuration as encoded string
rendercfg_string2 the secondary render-configuration as encoded string; use "" or nil to not set it
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetProject_RenderDitherState

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_RenderDitherState(string projectfilename_with_path, integer renderdither_state, optional string ProjectStateChunk)

Description:

Sets the render-dither-state from an RPP-Projectfile or a ProjectStateChunk.
Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer renderdither_state the state of render dithering &1, Dither Master mix &2, Noise shaping Master mix &4, Dither Stems &8, Noise shaping Stems
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetProject_RenderFilename

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_RenderFilename(string projectfilename_with_path, string renderfilename, optional string ProjectStateChunk)

Description:

Sets the render-filename in an rpp-projectfile or a ProjectStateChunk. Set to "", if you want to set a render-pattern with SetProject_RenderPattern.

The rendername is influenced by the settings in the RENDER_PATTERN-entry in the RPP-file, see SetProject_RenderPattern to influence or remove the RENDER_PATTERN-entry(Removing RENDER_PATTERN may help when Reaper rendering it to the name given in parameter render_filename.

Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk insteadO
string render_filename the filename for rendering, check also GetProject_RenderPattern
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetProject_RenderFreqNChans

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_RenderFreqNChans(string projectfilename_with_path, integer unknown, integer rendernum_chans, integer render_frequency, optional string ProjectStateChunk)

Description:

Returns an unknown number, the render-frequency and rendernumber of channels from an RPP-Projectfile or a ProjectStateChunk.

Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer unknown unknown number
integer rendernum_chans Number_Channels 0-seems default-project-settings(?), 1-Mono, 2-Stereo, ... up to 64 channels
integer render_frequency RenderFrequency -2147483647 to 2147483647, except 0, which seems to be default-project-settings-frequency
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.975 Ultraschall version 4.00SetProject_RenderPattern

Functioncall:
Lua: integer retval = ultraschall.SetProject_RenderPattern(string projectfilename_with_path, string render_pattern, optional string ProjectStateChunk)

Description:

Sets the render-filename in an rpp-projectfile or a ProjectStateChunk. Set it to "", if you want to set the render-filename with SetProject_RenderFilename.

Capitalizing the first character of the wildcard will capitalize the first letter of the substitution.
    Capitalizing the first two characters of the wildcard will capitalize all letters.
    
    Directories will be created if necessary. For example if the render target
    is "$project/track", the directory "$project" will be created.
    
    Immediately following a wildcard, character replacement statements may be specified:
        -- single character which is to be removed from the substitution.
                  For example: $track< > removes all spaces from the track name,
                               $track<\> removes all slashes.
                              
       -- multiple characters, abcde are all replaced with X.
                  
                  For example: <_.> replaces all underscores with periods,
                               replaces all slashes with underscores.
                  
                  If > is specified as a source character, it must be listed first in the list.
    
    $item    media item take name, if the input is a media item
    $itemnumber  1 for the first media item on a track, 2 for the second...
    $track    track name
    $tracknumber  1 for the first track, 2 for the second...
    $parenttrack  parent track name
    $region    region name
    $regionnumber  1 for the first region, 2 for the second...
    $project    project name
    $tempo    project tempo at the start of the render region
    $timesignature  project time signature at the start of the render region, formatted as 4-4
    $filenumber  blank (optionally 1) for the first file rendered, 1 (optionally 2) for the second...
    $filenumber[N]  N for the first file rendered, N+1 for the second...
    $note    C0 for the first file rendered,C#0 for the second...
    $note[X]    X (example: B2) for the first file rendered, X+1 (example: C3) for the second...
    $natural    C0 for the first file rendered, D0 for the second...
    $natural[X]  X (example: F2) for the first file rendered, X+1 (example: G2) for the second...
    $namecount  1 for the first item or region of the same name, 2 for the second...
    $timelineorder  1 for the first item or region on the timeline, 2 for the second...
    
    Position/Length:
    $start    start time of the media item, render region, or time selection, in M-SS.TTT
    $end    end time of the media item, render region, or time selection, in M-SS.TTT
    $length    length of the media item, render region, or time selection, in M-SS.TTT
    $startbeats  start time in measures.beats of the media item, render region, or time selection
    $endbeats  end time in measures.beats of the media item, render region, or time selection
    $lengthbeats    length in measures.beats of the media item, render region, or time selection
    $starttimecode  start time in H-MM-SS-FF format of the media item, render region, or time selection
    $endtimecode  end time in H-MM-SS-FF format of the media item, render region, or time selection
    $startframes  start time in absolute frames of the media item, render region, or time selection
    $endframes  end time in absolute frames of the media item, render region, or time selection
    $lengthframes  length in absolute frames of the media item, render region, or time selection
    $startseconds  start time in whole seconds of the media item, render region, or time selection
    $endseconds  end time in whole seconds of the media item, render region, or time selection
    $lengthseconds  length in whole seconds of the media item, render region, or time selection
    
    Output Format:
    $format    render format (example: wav)
    $samplerate  sample rate (example: 44100)
    $sampleratek  sample rate (example: 44.1)
    $bitdepth  bit depth, if available (example: 24 or 32FP)
    
    Current Date/Time:
    $year    year, currently 2019
    $year2    last 2 digits of the year,currently 19
    $month    month number,currently 04
    $monthname  month name,currently apr
    $day    day of the month, currently 28
    $hour    hour of the day in 24-hour format,currently 23
    $hour12    hour of the day in 12-hour format,currently 11
    $ampm    am if before noon,pm if after noon,currently pm
    $minute    minute of the hour,currently 30
    $second    second of the minute,currently 27
    
    Computer Information:
    $user    user name
    $computer  computer name
    
    (this description has been taken from the Render Wildcard Help within the Render-Dialog of Reaper)

Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
string render_pattern the pattern, with which the rendering-filename will be automatically created. Check also GetProject_RenderFilename
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success



^ Reaper version 5.975 Ultraschall version 4.00SetProject_RenderQueueDelay

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_RenderQueueDelay(string projectfilename_with_path, integer renderqdelay, optional string ProjectStatechunk)

Description:

Sets the render-queue-delay-time in an rpp-project-file or a ProjectStateChunk.

Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer renderqdelay 0 and higher, sets the checkbox "Delay queued render to allow samples to load and the amount of time to wait in seconds nil, if you want to turn off render-queue-delay in the project/ProjectStateChunk
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.975 Ultraschall version 4.00SetProject_RenderRange

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_RenderRange(string projectfilename_with_path, integer bounds, number time_start, number time_end, integer tail, integer tail_length, optional string ProjectStateChunk)

Description:

Sets the render-range, render-timestart, render-timeend, render-tail and render-taillength in an RPP-Projectfile or a ProjectStateChunk.
To get RENDER_STEMS, refer GetProject_RenderStems
Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer bounds the bounds of the project to be rendered 0, Custom Time Range 1, Entire Project 2, Time Selection, 3, Project Regions 4, Selected Media Items(in combination with RENDER_STEMS 32); to get RENDER_STEMS, refer GetProject_RenderStems 5, Selected regions
number time_start TimeStart in milliseconds -2147483647 to 2147483647
number time_end TimeEnd in milliseconds 2147483647 to 2147483647
integer tail Tail on/off-flags for individual bounds 0, tail off for all bounds 1, custom time range -> tail on 2, entire project -> tail on 4, time selection -> tail on 8, project regions -> tail on
integer tail_length TailLength in milliseconds, valuerange 0 - 2147483647
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetProject_RenderResample

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_RenderResample(string projectfilename_with_path, integer resample_mode, integer playback_resample_mode, integer project_smplrate4mix_and_fx, optional string ProjectStateChunk)

Description:

Resamplemode for a)Rendering and b)Playback as well as c)if both are combined from an RPP-Projectfile or a ProjectStateChunk.
Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer resample_mode Resample_Mode 0-medium (64pt Sinc), 1-Low (Linear Interpolation), 2-Lowest (Point Sampling), 3-Good(192pt Sinc), 4-Better(384pt Sinc), 5-Fast (IIR + Linear Interpolation), 6-Fast (IIRx2 + Linear Interpolation), 7-Fast (16pt sinc) - Default, 8-HQ (512pt Sinc), 9-Extreme HQ (768pt HQ Sinc)
integer playback_resample_mode Playback Resample Mode (as set in the Project-Settings) 0-medium (64pt Sinc), 1-Low (Linear Interpolation), 2-Lowest (Point Sampling), 3-Good(192pt Sinc), 4-Better(384pt Sinc), 5-Fast (IIR + Linear Interpolation), 6-Fast (IIRx2 + Linear Interpolation), 7-Fast (16pt sinc) - Default, 8-HQ (512pt Sinc), 9-Extreme HQ (768pt HQ Sinc)
integer project_smplrate4mix_and_fx Use project sample rate for mixing and FX/synth processing-checkbox; 1, checked; 0, unchecked
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetProject_RenderSpeed

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_RenderSpeed(string projectfilename_with_path, integer render_speed, optional string ProjectStateChunk)

Description:

Sets a rendering-speed in an RPP-Projectfile or a ProjectStateChunk.
Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer render_speed render_speed 0-Fullspeed Offline 1-1x Offline 2-Online Render 3-Offline Render (Idle) 4-1x Offline Render (Idle)
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 6.20 Ultraschall version 4.2SetProject_RenderStems

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_RenderStems(string projectfilename_with_path, integer render_stems, optional string ProjectStateChunk)

Description:

Sets the render-stems-state from an RPP-Projectfile or a ProjectStateChunk.
Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer render_stems the state of Render Stems 0, Source Master Mix, 1, Source Master mix + stems, 3, Source Stems, selected tracks, &4, Multichannel Tracks to Multichannel Files, 8, Source Region Render Matrix, &16, Tracks with only Mono-Media to Mono Files, 32, Selected Media Items(in combination with RENDER_RANGE->Bounds->4, refer to GetProject_RenderRange to get RENDER_RANGE) 64, Selected media items via master 128, Selected tracks via master &256, Embed stretch markers/transient guides-checkbox &1024, Embed Take markers &2048, enable second pass rendering
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetProject_RippleState

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_RippleState(string projectfilename_with_path, integer ripple_state, optional string ProjectStatechunk)

Description:

Sets the ripple-state in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer ripple_state 0, no Ripple; 1, Ripple One Track; 2, Ripple All
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetProject_SMPTESync

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_SMPTESync(string projectfilename_with_path, integer smptesync_state1, number smptesync_fps, integer smptesync_resyncdrift, integer smptesync_skipdropframes, integer smptesync_syncseek, integer smptesync_freewheel, integer smptesync_userinput, number smptesync_offsettimecode, integer smptesync_stop_rec_drift, integer smptesync_state10, integer smptesync_stop_rec_lacktime, optional string ProjectStateChunk)

Description:

Sets the TimeCodeSyncronization-SMPTE-Config in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer smptesync_state1 flag 0 - external timecode synchronization disabled 1 - external timecode synchronization enabled 4 - Start playback on valid timecode when stopped 8 - turned off: display flashing notification window when waiting for sync for recording 16 - playback off 32 - recording off 256 - MTC - 24/30fps MTC is 23.976/29.97ND works only with smptesync_userinput set to 4159 512 - MTC - 24/30fps MTC is 24/30ND
number smptesync_fps framerate in fps
integer smptesync_resyncdrift "Re-synchronize if drift exceeds" in ms (0 = never)
integer smptesync_skipdropframes "skip/drop frames if drift exceeds" in ms(0 - never)
integer smptesync_syncseek "Synchronize by seeking ahead" in ms (default = 1000)
integer smptesync_freewheel "Freewheel on missing time code for up to" in ms(0 = forever)
integer smptesync_userinput User Input-flag 0 - LTC: Input 1 1 - LTC: Input 2 4159 - MTC - All inputs - 24/30 fps MTC 23.976ND/29.97ND if project is ND 4223 - SPP: All Inputs 8192 - ASIO Positioning Protocol
number smptesync_offsettimecode Offset incoming timecode by in seconds
integer smptesync_stop_rec_drift "Stop recording if drift exceeds" in ms(0 = never)
integer smptesync_state10 smptesync-state
integer smptesync_stop_rec_lacktime "stop recording on lack of timecode after" in ms(0 = never)
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetProject_SampleRate

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_SampleRate(string projectfilename_with_path, integer sample_rate, integer project_sample_rate, integer force_tempo_time_sig, optional string ProjectStateChunk)

Description:

Sets the project-samplerate-state, as set in the project-settings, from an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer sample_rate Project Sample Rate in Hz
integer project_sample_rate Checkbox: Project Sample Rate
integer force_tempo_time_sig Checkbox: Force Project Tempo/Time Signature changes to occur on whole samples
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetProject_Selection

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_Selection(string projectfilename_with_path, number starttime, number endtime, number starttime2, number endtime2, optional string ProjectStatechunk)

Description:

Sets the ripple-state in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
number starttime start of the selection in seconds
number endtime end of the selection in seconds
number starttime2 start of the second selection in seconds
number endtime2 end of the second selection in seconds
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetProject_TakeLane

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_TakeLane(string projectfilename_with_path, integer take_lane_state, optional string ProjectStateChunk)

Description:

Sets the take-lane-state in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer take_lane_state take-lane-state
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.975 Ultraschall version 4.00SetProject_Tempo

Functioncall:
Lua: integer retval = ultraschall.SetProject_Tempo(string projectfilename_with_path, integer bpm, integer beat, integer denominator, optional string ProjectStateChunk)

Description:

Sets the tempo, bpm, beat, denominator-state of an rpp-projectfile or a ProjectStateChunk.

It's the entry TEMPO

They are set in the Project Settings -> "Project BPM" and "Time signature"

Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer bpm the tempo of the project in bpm
integer beat the beat of the project
integer denominator the denominator for the beat
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success



^ Reaper version 5.40 Ultraschall version 4.00SetProject_TempoTimeSignature

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_TempoTimeSignature(string projectfilename_with_path, integer tempotimesignature, optional string ProjectStateChunk)

Description:

Sets the timebase, as set in the project-settings, in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer tempotimesignature the timebase for tempo/time-signature as set in the project settings 0 - Time 1 - Beats
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetProject_TimeBase

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_TimeBase(string projectfilename_with_path, integer timebase, optional string ProjectStateChunk)

Description:

Sets the timebase, as set in the project-settings, in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer timebase the timebase for items/envelopes/markers as set in the project settings 0 - Time, 1 - Beats (position, length, rate), 2 - Beats (position only)
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetProject_Timemode

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_Timemode(string projectfilename_with_path, integer timemode1, integer timemode2, integer showntime, integer timemode4, integer timemode5, optional string ProjectStateChunk)

Description:

Sets the timemode-state in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer ruler_timemode ruler-timemode-state -1, Use ruler time unit 0, Minutes:Seconds 1, Measures.Beats / Minutes:Seconds 2, Measures.Beats 3, Seconds 4, Samples 5, Hours:Minutes:Seconds:Frames 8, Absolute Frames
integer timemode2 timemode-state
integer showntime Transport shown time -1 - use ruler time unit 0 - minutes:seconds 1 - measures:beats/minutes:seconds 2 - measures:beats 3 - seconds 4 - samples 5 - hours:minutes:seconds:frames 8 - absolute frames
integer timemode4 timemode-state
integer timemode5 timemode-state
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetProject_TrackMixingDepth

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_TrackMixingDepth(string projectfilename_with_path, integer mixingdepth, optional string ProjectStateChunk)

Description:

Sets the project-samplerate-state, as set in the project-settings, from an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer mixingdepth the track mixing depth 1 - 32 bit float 2 - 39 bit integer 3 - 24 bit integer 4 - 16 bit integer 5 - 12 bit integer 6 - 8 bit integer
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetProject_UseRecConfig

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_UseRecConfig(string projectfilename_with_path, integer rec_cfg, optional string ProjectStateChunk)

Description:

Sets the UseRec-Config in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer rec_cfg recording-cfg-state 0 - Automatic .wav (recommended) 1 - Custom (use ultraschall.GetProject_ApplyFXCFG to get recording_cfg_string) 2 - Recording Format
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetProject_VerticalZoom

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_VerticalZoom(string projectfilename_with_path, integer vzoom, optional string ProjectStateChunk)

Description:

Sets the vertical-zoom from an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer vzoom vertical zoomfactor(0-40)
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetProject_VideoConfig

Functioncall:
Lua: integer retval, optional string ProjectStateChunk = ultraschall.SetProject_VideoConfig(string projectfilename_with_path, integer preferredVidSizeX, integer preferredVidSizeY, integer settingsBitfield, optional string ProjectStateChunk)

Description:

Sets the video-config-settings, as set in the project-settings, from an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Parameters:
string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead
integer preferredVidSizeX preferred video size, x pixels
integer preferredVidSizeY preferred video size, y pixels
integer settingsBitfield settings 0 - turned on/selected: use high quality filtering, preserve aspect ratio(letterbox) when resizing, Video colorspace set to Auto, Items in higher numbered tracks replace lower, as well as Video colorspace set to Auto 1 - Video colorspace: I420/YV12 2 - Video colorspace: YUV2 3 - RGB 256 - Items in lower numbered tracks replace higher 512 - Always resize video sources to preferred video size 1024 - Always resize output to preferred video size 2048 - turn off "Use high quality filtering when resizing" 4096 - turn off "preserve aspect ratio (letterbox) when resizing"
optional string ProjectStateChunk a projectstatechunk, that you want to be changed

Returnvalues:
integer retval -1 in case of error, 1 in case of success
optional string ProjectStateChunk the altered ProjectStateChunk




^ Reaper version 6.24 Ultraschall version 4.2RazorEdit_GetAllRazorEdits

Functioncall:
Lua: integer number_razor_edits, table RazorEditTable = ultraschall.RazorEdit_GetAllRazorEdits()

Description:

Returns the number of Razor Edits available and all its entries as a handy table.concat

The table is of the following format(index is the index of all available razor-edits):

RazorEditTable[index]["Start"] - the startposition of the RazorEdit in seconds
RazorEditTable[index]["End"] - the endposition of the RazorEdit in seconds
RazorEditTable[index]["IsTrack"] - true, it's a track-RazorEdit; false, it's RazorEdit for an envelope
RazorEditTable[index]["Tracknumber"] - the number of the track, in which the RazorEdit happens
RazorEditTable[index]["Track"] - the trackobject of the track, in which the RazorEdit happens
RazorEditTable[index]["Envelope_guid"] - the guid of the envelope, in which the RazorEdit happens; "" if it's for the entire track

The following are optional entries: RazorEdit[index]["Envelope"] - the TrackEnvelope-object, when RazorEdit is for an envelope; nil, otherwise RazorEdit[index]["Envelope_name"] - the name of the envelope, when RazorEdit is for an envelope; nil, otherwise


Returnvalues:
integer number_razor_edits the number of razor_edits available in the current project; 0, if none
table RazorEditTable a table with all attributes of all Razor-Edits available



^ Reaper version 6.24 Ultraschall version 4.2RazorEdit_ProjectHasRazorEdit

Functioncall:
Lua: boolean retval = ultraschall.RazorEdit_ProjectHasRazorEdit()

Description:

Returns, if the project has any razor-edits available.


Returnvalues:
boolean retval true, project has razor-edits; false, project has no razor-edits




^ Reaper version 5.977 SWS version 2.10.0.1 JS version 0.986 Ultraschall version 4.00AutoSearchReaMoteClients

Functioncall:
Lua: ultraschall.AutoSearchReaMoteClients()

Description:

Auto-searches for new ReaMote-clients




^ Reaper version 5.40 SWS version 2.8.8 Ultraschall version 4.00ConvertClient2ScreenXCoordinate_ReaperWindow

Functioncall:
Lua: integer Xscreencoordinate = ultraschall.ConvertClient2ScreenXCoordinate_ReaperWindow(integer Xclientcoordinate)

Description:

Converts an x-clientcoordinate from within the main Reaper-window into a x-screencoordinate.
Due to Api-limitations, if the Reaper-window is too small, the position might be wrong up to about 74 pixels!

returns -1 in case of error

Parameters:
integer Xclientcoordinate the screen-coordinate, you want to have converted to. Negative, if left of the left edge of the main Reaper-window.

Returnvalues:
integer Xscreencoordinate coordinate within the screen.



^ Reaper version 5.40 SWS version 2.8.8 Ultraschall version 4.00ConvertScreen2ClientXCoordinate_ReaperWindow

Functioncall:
Lua: integer Xclientcoordinate = ultraschall.ConvertScreen2ClientXCoordinate_ReaperWindow(integer Xscreencoordinate)

Description:

Converts an x-screencoordinate into a x-coordinate within the Reaper-Main-Window.
Due to Api-limitations, if the Reaper-window is too small, the position might be wrong up to about 74 pixels!

returns -1 in case of error

Parameters:
integer Xscreencoordinate the screen-coordinate, you want to have converted to.

Returnvalues:
integer Xclientcoordinate coordinate within the main Reaper-window. Negative, if the coordinate is left of the edge of the window; -1, in case of error



^ Reaper version 5.40 SWS version 2.8.8 Ultraschall version 4.00SetReaperWindowToSize

Functioncall:
Lua: integer retval = ultraschall.SetReaperWindowToSize(integer width, integer height)

Description:

Sets the Reaper-Window to the size of w and h. The x and y-windowposition will be retained.

Returns -1 in case of error.

Parameters:
integer w the new width of the Reaper-window in pixels
integer h the new height of the reaper-windows in pixels

Returnvalues:
integer retval -1 in case of error




^ Reaper version 5.975 Ultraschall version 4.00GetOutputFormat_RenderCfg

Functioncall:
Lua: string outputformat, string renderstring = ultraschall.GetOutputFormat_RenderCfg(string Renderstring, optional ReaProject ReaProject)

Description:

Returns the output-format set in a render-cfg-string, as stored in rpp-files and the render-presets file reaper-render.ini

Returns nil in case of an error

Parameters:
string Renderstring the render-cfg-string from a rpp-projectfile or the reaper-render.ini nil, to get the settings of the currently opened project
optional ReaProject ReaProject a ReaProject, whose renderformat you want to know; only available, when Renderstring=nil set to nil, to use the currently opened project pass as integer to get the renderformat of a specific projecttab, with 0 for the current, 1 for the first, 2 for the second, etc

Returnvalues:
string outputformat the outputformat, set in the render-cfg-string The following are valid: "WAV", "AIFF", "AUDIOCD-IMAGE", "DDP", "FLAC", "MP3", "OGG", "Opus", "Video", "Video (Mac)", "Video GIF", "Video LCF", "WAVPACK", "Unknown"
string renderstring the renderstring, which is either the renderstring you've passed or the one from the ReaProject you passed as second parameter



^ Reaper version 6.02 Ultraschall version 4.2GetRenderCFG_Settings_AIFF

Functioncall:
Lua: integer bitdepth, boolean EmbedBeatLength = ultraschall.GetRenderCFG_Settings_AIFF(string rendercfg)

Description:

Returns the settings stored in a render-cfg-string for aiff.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error


Parameters:
string render_cfg the render-cfg-string, that contains the aiff-settings

Returnvalues:
integer bitdepth the bitdepth of the AIFF-file(8, 16, 24, 32)
boolean EmbedBeatLength Embed beat length if exact-checkbox; true, checked; false, unchecked



^ Reaper version 5.975 Ultraschall version 4.2GetRenderCFG_Settings_AVI_Video

Functioncall:
Lua: integer VIDEO_CODEC, integer MJPEG_quality, integer AUDIO_CODEC, integer WIDTH, integer HEIGHT, number FPS, boolean AspectRatio = ultraschall.GetRenderCFG_Settings_AVI_Video(string rendercfg)

Description:

Returns the settings stored in a render-cfg-string for AVI_Video.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error

Parameters:
string render_cfg the render-cfg-string, that contains the avi-settings

Returnvalues:
integer VIDEO_CODEC the used VideoCodec for the AVI-video 0, DV 1, MJPEG 2, FFV1 (lossless) 3, Hufyuv (lossless)
integer MJPEG_quality the MJPEG-quality of the AVI-video, if VIDEO_CODEC=1
integer AUDIO_CODEC the audio-codec of the avi-video 0, 16 bit PCM 1, 24 bit PCM 2, 32 bit FP
integer WIDTH the width of the video in pixels
integer HEIGHT the height of the video in pixels
number FPS the fps of the video; must be a double-precision-float value (9.09 or 25.00); due API-limitations, this supports 0.01fps to 2000.00fps
boolean AspectRatio the aspect-ratio; true, keep source aspect ratio; false, don't keep source aspect ratio



^ Reaper version 5.975 Ultraschall version 4.2GetRenderCFG_Settings_AudioCD

Functioncall:
Lua: integer trackmode, boolean use_markers_hashes, integer leadin_silence_tracks, integer leadin_silence_disc, boolean burn_cd_after_render = ultraschall.GetRenderCFG_Settings_AudioCD(string rendercfg)

Description:

Returns the settings stored in a render-cfg-string for AudioCD.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error


Parameters:
string render_cfg the render-cfg-string, that contains the audiocd-settings

Returnvalues:
integer trackmode the trackmode 0, Markers define new tracks 1, Regions define tracks (other areas ignored) 2, One track
boolean use_markers_hashes Only use markers starting with #-checkbox; only available when trackmode=0, otherwise it will be ignored true, checkbox is checked; false, checkbox is unchecked
integer leadin_silence_tracks the leadin-silence for tracks in milliseconds(0 to 2147483647)
integer leadin_silence_disc the leadin-silence for discs in milliseconds(0 to 2147483647)
boolean burn_cd_after_render burn cd image after render-checkbox true, checkbox is checked; false, checkbox is unchecked



^ Reaper version 5.975 Ultraschall version 4.00GetRenderCFG_Settings_DDP

Functioncall:
Lua: boolean retval = ultraschall.GetRenderCFG_Settings_DDP(string rendercfg)

Description:

Returns, if a renderstring is a valid DDP-render-string

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error


Parameters:
string render_cfg the render-cfg-string, that contains the DDP-settings

Returnvalues:
boolean retval true, if renderstring is of the format DDP; false, if not



^ Reaper version 5.975 Ultraschall version 4.2GetRenderCFG_Settings_FLAC

Functioncall:
Lua: integer encoding_depth, integer compression = ultraschall.GetRenderCFG_Settings_FLAC(string rendercfg)

Description:

Returns the settings stored in a render-cfg-string for flac.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error


Parameters:
string render_cfg the render-cfg-string, that contains the flac-settings

Returnvalues:
integer encoding_depth the encoding-depth of the flac in bits(16 to 24)
integer compression the data-compression speed from fastest and worst efficiency(0) to slowest but best efficiency(8); default is 5



^ Reaper version 5.975 Ultraschall version 4.2GetRenderCFG_Settings_GIF

Functioncall:
Lua: integer Width, integer Height, number MaxFramerate, boolean PreserveAspectRatio, integer IgnoreLowBits, boolean Transparency = ultraschall.GetRenderCFG_Settings_GIF(string rendercfg)

Description:

Returns the settings stored in a render-cfg-string for Gif.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error


Parameters:
string render_cfg the render-cfg-string, that contains the gif-settings

Returnvalues:
integer Width the width of the gif in pixels; 1 to 2147483647 pixels
integer Height the height of the gif in pixels; 1 to 2147483647 pixels
number MaxFramerate the maximum framerate of the gif
boolean PreserveAspectRatio Preserve aspect ratio (black bars, if necessary)-checkbox; true, checked; false, unchecked
integer IgnoreLowBits Ignore changed in low bits of color (0-7, 0 = full quality)-inputbox
boolean Transparency Encode transparency (bad for normal video, good for some things possibly)-checkbox; true, checked; false, unchecked



^ Reaper version 5.975 Ultraschall version 4.2GetRenderCFG_Settings_LCF

Functioncall:
Lua: integer Width, integer Height, number MaxFramerate, boolean PreserveAspectRatio, string TweakSettings = ultraschall.GetRenderCFG_Settings_LCF(string rendercfg)

Description:

Returns the settings stored in a render-cfg-string for LCF.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error


Parameters:
string render_cfg the render-cfg-string, that contains the lcf-settings

Returnvalues:
integer Width the width of the gif in pixels; 1 to 2147483647 pixels
integer Height the height of the gif in pixels; 1 to 2147483647 pixels
number MaxFramerate the maximum framerate of the gif
boolean PreserveAspectRatio Preserve aspect ratio (black bars, if necessary)-checkbox; true, checked; false, unchecked
string TweakSettings the tweak-settings for LCF, default is "t20 x128 y16"



^ Reaper version 5.975 Ultraschall version 4.00GetRenderCFG_Settings_M4AMac

Functioncall:
Lua: integer AUDKBPS, integer WIDTH, integer HEIGHT, number FPS, boolean AspectRatio = ultraschall.GetRenderCFG_Settings_M4AMac(string rendercfg)

Description:

Returns the settings stored in a render-cfg-string for M4A for Mac_Video(even though this stores only audio-files).
This is MacOS-only.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error

Parameters:
string render_cfg the render-cfg-string, that contains the webm-settings

Returnvalues:
integer AUDKBPS the audio-bitrate of the audio in kbps
integer WIDTH the width of the audio in pixels
integer HEIGHT the height of the audio in pixels
number FPS the fps of the audio; must be a double-precision-float value (9.09 or 25.00); due API-limitations, this supports 0.01fps to 2000.00fps
boolean AspectRatio the aspect-ratio; true, keep source aspect ratio; false, don't keep source aspect ratio



^ Reaper version 5.975 Ultraschall version 4.2GetRenderCFG_Settings_MKV_Video

Functioncall:
Lua: integer VIDEO_CODEC, integer MJPEG_quality, integer AUDIO_CODEC, integer WIDTH, integer HEIGHT, number FPS, boolean AspectRatio = ultraschall.GetRenderCFG_Settings_MKV_Video(string rendercfg)

Description:

Returns the settings stored in a render-cfg-string for MKV-Video.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error


Parameters:
string render_cfg the render-cfg-string, that contains the mkv-settings

Returnvalues:
integer VIDEO_CODEC the used VideoCodec for the MKV-video 0, FFV1 (lossless) 1, Hufyuv (lossless) 2, MJPEG
integer MJPEG_quality the MJPEG-quality of the MKV-video, if VIDEO_CODEC=2
integer AUDIO_CODEC the audio-codec of the MKV-video 0, 16 bit PCM 1, 24 bit PCM 2, 32 bit FP
integer WIDTH the width of the video in pixels
integer HEIGHT the height of the video in pixels
number FPS the fps of the video; must be a double-precision-float value (9.09 or 25.00); due API-limitations, this supports 0.01fps to 2000.00fps
boolean AspectRatio the aspect-ratio; true, keep source aspect ratio; false, don't keep source aspect ratio



^ Reaper version 5.975 Ultraschall version 4.2GetRenderCFG_Settings_MOVMac_Video

Functioncall:
Lua: integer VideoCodec, integer VIDKBPS, integer MJPEG_quality, integer AudioCodec, integer AUDKBPS, integer WIDTH, integer HEIGHT, number FPS, boolean AspectRatio = ultraschall.GetRenderCFG_Settings_MOVMac_Video(string rendercfg)

Description:

Returns the settings stored in a render-cfg-string for MOV for Mac_Video.
This is MacOS-only.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error

Parameters:
string render_cfg the render-cfg-string, that contains the webm-settings

Returnvalues:
integer VideoCodec the videocodec used for this setting 0, h264 1, Apple ProRes 4444 2, Apple ProRes 422 3, MJPEG
integer VIDKBPS the video-bitrate of the video in kbps
integer MJPEG_quality when VideoCodec==3, then MJPEG is used; given in percent
integer AudioCodec the audiocodec used 0, AAC 1, 16-bit PCM 2, 24-bit PCM 3, 32-bit FP PCM
integer AUDKBPS the audio-bitrate of the video in kbps
integer WIDTH the width of the video in pixels
integer HEIGHT the height of the video in pixels
number FPS the fps of the video; must be a double-precision-float value (9.09 or 25.00); due API-limitations, this supports 0.01fps to 2000.00fps
boolean AspectRatio the aspect-ratio; true, keep source aspect ratio; false, don't keep source aspect ratio



^ Reaper version 5.975 Ultraschall version 4.2GetRenderCFG_Settings_MP3

Functioncall:
Lua: integer Mode, integer enc_quality, integer vbr_quality, integer abr_bitrate, integer cbr_bitrate, boolean no_joint_stereo, boolean write_replay_gain = ultraschall.GetRenderCFG_Settings_MP3(string rendercfg)

Description:

Returns the settings stored in a render-cfg-string for MP3.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error


Parameters:
string render_cfg the render-cfg-string, that contains the mp3-settings

Returnvalues:
integer Mode the encoding-mode 32, Target quality(VBR) 1056, Target bitrate (ABR) 65344, Constant bitrate (CBR) 65088, Maximum bitrate/quality
integer enc_quality the encoding-quality 0, Maximum(slow) 2, Better(recommended) 3, Normal 5, Fast encode 7, Faster encode 9, Fastest encode
integer vbr_quality target-quality for VBR; 0(best 100%) to 9(worst 10%); 4, when Mode is set to ABR, CBR or Maximum bitrate/quality
integer abr_bitrate the average bitrate for ABR in kbps 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320
integer cbr_bitrate the bitrate for CBR in kbps 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320
boolean no_joint_stereo the do not allow joint stereo-checkbox true, checkbox is checked; false, checkbox is unchecked
boolean write_replay_gain the write ReplayGain tag-checkbox true, checkbox is checked; false, checkbox is unchecked



^ Reaper version 5.975 Ultraschall version 4.2GetRenderCFG_Settings_MP3ABR

Functioncall:
Lua: integer bitrate, integer enc_quality, boolean no_joint_stereo, boolean write_replay_gain = ultraschall.GetRenderCFG_Settings_MP3ABR(string rendercfg)

Description:

Returns the settings stored in a render-cfg-string for MP3 ABR.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error


Parameters:
string render_cfg the render-cfg-string, that contains the mp3-abr-settings

Returnvalues:
integer bitrate the encoding quality for the mp3 0, 8 kbps 1, 16 kbps 2, 24 kbps 3, 32 kbps 4, 40 kbps 5, 48 kbps 6, 56 kbps 7, 64 kbps 8, 80 kbps 9, 96 kbps 10, 112 kbps 11, 128 kbps 12, 160 kbps 13, 192 kbps 14, 224 kbps 15, 256 kbps 16, 320 kbps
integer enc_quality the encoding-quality 0, Maximum(slow) 2, Better(recommended) 3, Normal 5, Fast encode 7, Faster encode 9, Fastest encode
boolean no_joint_stereo the do not allow joint stereo-checkbox true, checkbox is checked; false, checkbox is unchecked
boolean write_replay_gain the write ReplayGain tag-checkbox true, checkbox is checked; false, checkbox is unchecked



^ Reaper version 5.975 Ultraschall version 4.2GetRenderCFG_Settings_MP3CBR

Functioncall:
Lua: integer cbr_bitrate, integer enc_quality, boolean no_joint_stereo, boolean write_replay_gain = ultraschall.GetRenderCFG_Settings_MP3CBR(string rendercfg)

Description:

Returns the settings stored in a render-cfg-string for MP3 CBR.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error


Parameters:
string render_cfg the render-cfg-string, that contains the mp3-cbr-settings

Returnvalues:
integer cbr_bitrate the bitrate for CBR in kbps 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320
integer enc_quality the encoding-quality 0, Maximum(slow) 2, Better(recommended) 3, Normal 5, Fast encode 7, Faster encode 9, Fastest encode
boolean no_joint_stereo the do not allow joint stereo-checkbox true, checkbox is checked; false, checkbox is unchecked
boolean write_replay_gain the write ReplayGain tag-checkbox true, checkbox is checked; false, checkbox is unchecked



^ Reaper version 5.975 Ultraschall version 4.2GetRenderCFG_Settings_MP3MaxQuality

Functioncall:
Lua: integer retval, boolean write_replay_gain = ultraschall.GetRenderCFG_Settings_MP3MaxQuality(string rendercfg)

Description:

Returns the settings stored in a render-cfg-string for MP3 with maximum quality-settings.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error


Parameters:
string render_cfg the render-cfg-string, that contains the mp3-maxquality-settings

Returnvalues:
integer retval 0, the renderstring is a valid MP3-MaxQuality-setting; -1, it is not a valid renderstring for MP3-MaxQuality
boolean write_replay_gain the write ReplayGain tag-checkbox true, checkbox is checked; false, checkbox is unchecked



^ Reaper version 5.975 Ultraschall version 4.2GetRenderCFG_Settings_MP3VBR

Functioncall:
Lua: integer vbr_bitrate, integer enc_quality, boolean no_joint_stereo, boolean write_replay_gain = ultraschall.GetRenderCFG_Settings_MP3VBR(string rendercfg)

Description:

Returns the settings stored in a render-cfg-string for MP3 VBR.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error


Parameters:
string render_cfg the render-cfg-string, that contains the mp3-vbr-settings

Returnvalues:
integer vbr_quality the variable-bitrate quality; 1(for 10%) to 10(for 100%)
integer enc_quality the encoding-quality 0, Maximum(slow) 2, Better(recommended) 3, Normal 5, Fast encode 7, Faster encode 9, Fastest encode
boolean no_joint_stereo the do not allow joint stereo-checkbox true, checkbox is checked; false, checkbox is unchecked
boolean write_replay_gain the write ReplayGain tag-checkbox true, checkbox is checked; false, checkbox is unchecked



^ Reaper version 5.975 Ultraschall version 4.2GetRenderCFG_Settings_MP4Mac_Video

Functioncall:
Lua: boolean Stream, integer VIDKBPS, integer AUDKBPS, integer WIDTH, integer HEIGHT, number FPS, boolean AspectRatio = ultraschall.GetRenderCFG_Settings_MP4Mac_Video(string rendercfg)

Description:

Returns the settings stored in a render-cfg-string for MP4 for Mac_Video(stream optimised and non-stream optimised).
This is Mac-OS only!

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error

Parameters:
string render_cfg the render-cfg-string, that contains the webm-settings

Returnvalues:
boolean Stream true, mp4-video would be stream-optimized; false, mp4-video would not be stream-optimized
integer VIDKBPS the video-bitrate of the video in kbps
integer AUDKBPS the audio-bitrate of the video in kbps
integer WIDTH the width of the video in pixels
integer HEIGHT the height of the video in pixels
number FPS the fps of the video; must be a double-precision-float value (9.09 or 25.00); due API-limitations, this supports 0.01fps to 2000.00fps
boolean AspectRatio the aspect-ratio; true, keep source aspect ratio; false, don't keep source aspect ratio



^ Reaper version 5.975 Ultraschall version 4.2GetRenderCFG_Settings_OGG

Functioncall:
Lua: integer Mode, integer VBR_quality, integer CBR_KBPS, integer ABR_KBPS, integer ABR_KBPS_MIN, integer ABR_KBPS_MAX = ultraschall.GetRenderCFG_Settings_OGG(string rendercfg)

Description:

Returns the settings stored in a render-cfg-string for OGG.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error


Parameters:
string render_cfg the render-cfg-string, that contains the ogg-settings

Returnvalues:
integer Mode the mode for the ogg-file; 0, VBR; 1, CBR; 2, ABR
integer VBR_quality the quality for VBR-mode; a floating-value between 0 and 1
integer CBR_KBPS the bitrate for CBR-mode; 0 to 4294967295
integer ABR_KBPS the bitrate for ABR-mode; 0 to 4294967295
integer ABR_KBPS_MIN the minimum bitrate for ABR-mode; 0 to 4294967295
integer ABR_KBPS_MAX the maximum bitrate for ABR-mode; 0 to 4294967295



^ Reaper version 5.975 Ultraschall version 4.2GetRenderCFG_Settings_OPUS

Functioncall:
Lua: integer Mode, integer Bitrate, integer Complexity, boolean channel_audio, boolean per_channel = ultraschall.GetRenderCFG_Settings_OPUS(string rendercfg)

Description:

Returns the settings stored in a render-cfg-string for Opus.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error


Parameters:
string render_cfg the render-cfg-string, that contains the opus-settings

Returnvalues:
integer Mode the Mode for the Opus-file; 0, VBR; 1, CVBR; 2, HARDCBR
integer Bitrate the kbps of the opus-file; between 1 and 256
integer Complexity the complexity-setting between 0(lowest quality) and 10(highest quality, slow encoding)
boolean channel_audio true, Encode 3-8 channel audio as 2.1-7.1(LFE) -> checked; false, DON'T Encode 3-8 channel audio as 2.1-7.1(LFE) -> unchecked
boolean per_channel true, kbps per channel (6-256); false, kbps combined for all channels



^ Reaper version 5.975 Ultraschall version 4.2GetRenderCFG_Settings_QTMOVMP4_Video

Functioncall:
Lua: integer MJPEG_quality, integer AUDIO_CODEC, integer WIDTH, integer HEIGHT, number FPS, boolean AspectRatio = ultraschall.GetRenderCFG_Settings_QTMOVMP4_Video(string rendercfg)

Description:

Returns the settings stored in a render-cfg-string for QT/MOV/MP4-video.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error


Parameters:
string render_cfg the render-cfg-string, that contains the qt/mov/mp4-settings

Returnvalues:
integer MJPEG_quality the MJPEG-quality of the video
integer AUDIO_CODEC the audio-codec of the video 0, 16 bit PCM 1, 24 bit PCM 2, 32 bit FP
integer WIDTH the width of the video in pixels
integer HEIGHT the height of the video in pixels
number FPS the fps of the video; must be a double-precision-float value (9.09 or 25.00); due API-limitations, this supports 0.01fps to 2000.00fps
boolean AspectRatio the aspect-ratio; true, keep source aspect ratio; false, don't keep source aspect ratio



^ Reaper version 5.975 Ultraschall version 4.2GetRenderCFG_Settings_WAV

Functioncall:
Lua: integer BitDepth, integer LargeFiles, integer BWFChunk, integer IncludeMarkers, boolean EmbedProjectTempo = ultraschall.GetRenderCFG_Settings_WAV(string rendercfg)

Description:

Returns the settings stored in a render-cfg-string for WAV.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error


Parameters:
string render_cfg the render-cfg-string, that contains the wav-settings

Returnvalues:
integer BitDepth the bitdepth of the WAV-file 0, 8 Bit PCM 1, 16 Bit PCM 2, 24 Bit PCM 3, 32 Bit FP 4, 64 Bit FP 5, 4 Bit IMA ADPCM 6, 2 Bit cADPCM
integer LargeFiles how shall Reaper treat large WAV-files 0, Auto WAV/Wave64 1, Auto Wav/RF64 2, Force WAV 3, Force Wave64 4, Force RF64
integer BWFChunk The "Write BWF ('bext') chunk" and "Include project filename in BWF data" - checkboxes &1, checked - write BWF-checkbox; 0, unchecked &2, checked - Include project filename in BWF data-checkbox; 0, unchecked
integer IncludeMarkers The include markerlist-dropdownlist 0, Do not include markers and regions 1, Markers + regions 2, Markers + regions starting with # 3, Markers only 4, Markers starting with # only 5, Regions only 6, Regions starting with # only
boolean EmbedProjectTempo Embed tempo-checkbox; true, checked; false, unchecked



^ Reaper version 5.975 Ultraschall version 4.2GetRenderCFG_Settings_WAVPACK

Functioncall:
Lua: integer Mode, integer Bitdepth, integer Writemarkers, boolean WriteBWFChunk, boolean IncludeFilenameBWF = ultraschall.GetRenderCFG_Settings_WAVPACK(string rendercfg)

Description:

Returns the settings stored in a render-cfg-string for WAVPACK.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error


Parameters:
string render_cfg the render-cfg-string, that contains the wavpack-settings

Returnvalues:
integer Mode 0, Normal; 1, Fast; 2, High; 3, Very High(slowest)
integer Bitdepth the bitdepth of the WAVPACK-file 0(16Bit) 1(24Bit) 2(32Bit integer) 3(32Bit floating point) 4(23/24 Bit) 5(22/24 Bit) 6(21/24 Bit) 7(20/24 Bit) 8(19/24 Bit) 9(18/24 Bit) 10(17/24 Bit) 11(32 bit floating point -144dB floor) 12(32 bit floating point -120dB floor) 13(32 bit floating point -96dB floor)
integer Writemarkers Write markers as cues-checkboxes 0, nothing checked 1, Write markers as cues->checked 2, Write markers as cues and Only write markers starting with #->checked
boolean WriteBWFChunk the Write BWF chunk-checkbox; true, checked; false, unchecked
boolean IncludeFilenameBWF the include project filename in BWF data-checkbox; true, checked; false, unchecked



^ Reaper version 5.975 Ultraschall version 4.2GetRenderCFG_Settings_WebMVideo

Functioncall:
Lua: integer VIDKBPS, integer AUDKBPS, integer WIDTH, integer HEIGHT, number FPS, boolean AspectRatio = ultraschall.GetRenderCFG_Settings_WebMVideo(string rendercfg)

Description:

Returns the settings stored in a render-cfg-string for WEBM_Video.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error

Parameters:
string render_cfg the render-cfg-string, that contains the webm-settings

Returnvalues:
integer VIDKBPS the video-bitrate of the video in kbps
integer AUDKBPS the audio-bitrate of the video in kbps
integer WIDTH the width of the video in pixels
integer HEIGHT the height of the video in pixels
number FPS the fps of the video; must be a double-precision-float value (9.09 or 25.00); due API-limitations, this supports 0.01fps to 2000.00fps
boolean AspectRatio the aspect-ratio; true, keep source aspect ratio; false, don't keep source aspect ratio




^ Reaper version 6.20 SWS version 2.10.0.1 JS version 0.972 Ultraschall version 4.2ApplyRenderTable_Project

Functioncall:
Lua: boolean retval, boolean dirty = ultraschall.ApplyRenderTable_Project(RenderTable RenderTable, optional boolean apply_rendercfg_string, optional boolean dirtyness)

Description:

Sets all stored render-settings from a RenderTable as the current project-settings.

Note: On Reaper 6.10, you cannot set AddToProj and NoSilentRender simultaneously due a bug in Reaper; is fixed in higher versions.
    

Expected table is of the following structure: RenderTable["AddToProj"] - Add rendered items to new tracks in project-checkbox; true, checked; false, unchecked RenderTable["Bounds"] - 0, Custom time range; 1, Entire project; 2, Time selection; 3, Project regions; 4, Selected Media Items(in combination with Source 32); 5, Selected regions RenderTable["Channels"] - the number of channels in the rendered file; 1, mono; 2, stereo; higher, the number of channels RenderTable["CloseAfterRender"] - true, close rendering to file-dialog after render; false, don't close it RenderTable["Dither"] - &1, dither master mix; &2, noise shaping master mix; &4, dither stems; &8, dither noise shaping stems RenderTable["EmbedMetaData"] - Embed metadata; true, checked; false, unchecked RenderTable["EmbedStretchMarkers"] - Embed stretch markers/transient guides; true, checked; false, unchecked RenderTable["EmbedTakeMarkers"] - Embed Take markers; true, checked; false, unchecked RenderTable["Enable2ndPassRender"] - true, 2nd pass render is enabled; false, 2nd pass render is disabled RenderTable["Endposition"] - the endposition of the rendering selection in seconds RenderTable["MultiChannelFiles"] - Multichannel tracks to multichannel files-checkbox; true, checked; false, unchecked RenderTable["NoSilentRender"] - Do not render files that are likely silent-checkbox; true, checked; false, unchecked RenderTable["OfflineOnlineRendering"] - Offline/Online rendering-dropdownlist; 0, Full-speed Offline; 1, 1x Offline; 2, Online Render; 3, Online Render(Idle); 4, Offline Render(Idle) RenderTable["OnlyMonoMedia"] - Tracks with only mono media to mono files-checkbox; true, checked; false, unchecked RenderTable["ProjectSampleRateFXProcessing"] - Use project sample rate for mixing and FX/synth processing-checkbox; true, checked; false, unchecked RenderTable["RenderFile"] - the contents of the Directory-inputbox of the Render to File-dialog RenderTable["RenderPattern"] - the render pattern as input into the File name-inputbox of the Render to File-dialog RenderTable["RenderQueueDelay"] - Delay queued render to allow samples to load-checkbox; true, checked; false, unchecked RenderTable["RenderQueueDelaySeconds"] - the amount of seconds for the render-queue-delay RenderTable["RenderResample"] - Resample mode-dropdownlist; 0, Medium (64pt Sinc); 1, Low (Linear Interpolation); 2, Lowest (Point Sampling); 3, Good (192pt Sinc); 4, Better (348 pt Sinc); 5, Fast (IIR + Linear Interpolation); 6, Fast (IIRx2 + Linear Interpolation); 7, Fast (16pt Sinc); 8, HQ (512 pt); 9, Extreme HQ(768pt HQ Sinc) RenderTable["RenderString"] - the render-cfg-string, that holds all settings of the currently set render-output-format as BASE64 string RenderTable["RenderString2"] - the render-cfg-string, that holds all settings of the currently set secondary-render-output-format as BASE64 string RenderTable["RenderTable"]=true - signals, this is a valid render-table RenderTable["SampleRate"] - the samplerate of the rendered file(s) RenderTable["SaveCopyOfProject"] - the "Save copy of project to outfile.wav.RPP"-checkbox; true, checked; false, unchecked RenderTable["SilentlyIncrementFilename"] - Silently increment filenames to avoid overwriting-checkbox; true, checked; false, unchecked RenderTable["Source"] - 0, Master mix; 1, Master mix + stems; 3, Stems (selected tracks); 8, Region render matrix; 16, Tracks with only Mono-Media to Mono Files; 32, Selected media items; 64, selected media items via master; 128, selected tracks via master RenderTable["Startposition"] - the startposition of the rendering selection in seconds RenderTable["TailFlag"] - in which bounds is the Tail-checkbox checked? &1, custom time bounds; &2, entire project; &4, time selection; &8, all project regions; &16, selected media items; &32, selected project regions RenderTable["TailMS"] - the amount of milliseconds of the tail

Returns false in case of an error


Parameters:
RenderTable RenderTable a RenderTable, that contains all render-dialog-settings
optional boolean apply_rendercfg_string true or nil, apply it as well; false, don't apply it
optional boolean dirtyness true, function set the project to dirty, if any project setting has been altered by RenderTable(only if dirty==true); false and nil, don't set to dirty, if anything changed

Returnvalues:
boolean retval true, setting the render-settings was successful; false, it wasn't successful
boolean dirty true, settings have been altered(project is dirty); false, settings haven't been altered(undirty)



^ Reaper version 6.20 Ultraschall version 4.2ApplyRenderTable_ProjectFile

Functioncall:
Lua: boolean retval, string ProjectStateChunk = ultraschall.ApplyRenderTable_ProjectFile(RenderTable RenderTable, string projectfilename_with_path, optional boolean apply_rendercfg_string, optional string ProjectStateChunk)

Description:

Sets all stored render-settings from a RenderTable as the current project-settings.

Expected table is of the following structure: RenderTable["AddToProj"] - Add rendered items to new tracks in project-checkbox; true, checked; false, unchecked RenderTable["Bounds"] - 0, Custom time range; 1, Entire project; 2, Time selection; 3, Project regions; 4, Selected Media Items(in combination with Source 32); 5, Selected regions RenderTable["Channels"] - the number of channels in the rendered file; 1, mono; 2, stereo; higher, the number of channels RenderTable["CloseAfterRender"] - close rendering to file-dialog after render; ignored, as this can't be set in projectfiles RenderTable["Dither"] - &1, dither master mix; &2, noise shaping master mix; &4, dither stems; &8, dither noise shaping stems RenderTable["EmbedMetaData"] - Embed metadata; true, checked; false, unchecked RenderTable["EmbedStretchMarkers"] - Embed stretch markers/transient guides; true, checked; false, unchecked RenderTable["EmbedTakeMarkers"] - Embed Take markers; true, checked; false, unchecked RenderTable["Endposition"] - the endposition of the rendering selection in seconds RenderTable["Enable2ndPassRender"] - true, 2nd pass render is enabled; false, 2nd pass render is disabled RenderTable["MultiChannelFiles"] - Multichannel tracks to multichannel files-checkbox; true, checked; false, unchecked RenderTable["NoSilentRender"] - Do not render files that are likely silent-checkbox; true, checked; false, unchecked RenderTable["OfflineOnlineRendering"] - Offline/Online rendering-dropdownlist; 0, Full-speed Offline; 1, 1x Offline; 2, Online Render; 3, Online Render(Idle); 4, Offline Render(Idle);
RenderTable["OnlyMonoMedia"] - Tracks with only mono media to mono files-checkbox; true, checked; false, unchecked RenderTable["ProjectSampleRateFXProcessing"] - Use project sample rate for mixing and FX/synth processing-checkbox; true, checked; false, unchecked RenderTable["RenderFile"] - the contents of the Directory-inputbox of the Render to File-dialog RenderTable["RenderPattern"] - the render pattern as input into the File name-inputbox of the Render to File-dialog RenderTable["RenderQueueDelay"] - Delay queued render to allow samples to load-checkbox RenderTable["RenderQueueDelaySeconds"] - the amount of seconds for the render-queue-delay RenderTable["RenderResample"] - Resample mode-dropdownlist; 0, Medium (64pt Sinc); 1, Low (Linear Interpolation); 2, Lowest (Point Sampling); 3, Good (192pt Sinc); 4, Better (348 pt Sinc); 5, Fast (IIR + Linear Interpolation); 6, Fast (IIRx2 + Linear Interpolation); 7, Fast (16pt Sinc); 8, HQ (512 pt); 9, Extreme HQ(768pt HQ Sinc) RenderTable["RenderString"] - the render-cfg-string, that holds all settings of the currently set render-output-format as BASE64 string RenderTable["RenderString2"] - the render-cfg-string, that holds all settings of the currently set secondary-render-output-format as BASE64 string RenderTable["RenderTable"]=true - signals, this is a valid render-table RenderTable["SampleRate"] - the samplerate of the rendered file(s) RenderTable["SaveCopyOfProject"] - the "Save copy of project to outfile.wav.RPP"-checkbox; ignored, as this can't be stored in projectfiles RenderTable["SilentlyIncrementFilename"] - Silently increment filenames to avoid overwriting-checkbox; ignored, as this can't be stored in projectfiles RenderTable["Source"] - 0, Master mix; 1, Master mix + stems; 3, Stems (selected tracks); 8, Region render matrix; 16, Tracks with only Mono-Media to Mono Files; 32, Selected media items; 64, selected media items via master; 128, selected tracks via master RenderTable["Startposition"] - the startposition of the rendering selection in seconds RenderTable["TailFlag"] - in which bounds is the Tail-checkbox checked? &1, custom time bounds; &2, entire project; &4, time selection; &8, all project regions; &16, selected media items; &32, selected project regions RenderTable["TailMS"] - the amount of milliseconds of the tail

Returns false in case of an error


Parameters:
RenderTable RenderTable a RenderTable, that contains all render-dialog-settings
string projectfilename_with_path the rpp-projectfile, to which you want to apply the RenderTable; nil, to use parameter ProjectStateChunk instead
optional boolean apply_rendercfg_string true or nil, apply it as well; false, don't apply it
optional parameter ProjectStateChunk the ProjectStateChunkk, to which you want to apply the RenderTable

Returnvalues:
boolean retval true, setting the render-settings was successful; false, it wasn't successful
string ProjectStateChunk the altered project/ProjectStateChunk as a string



^ Reaper version 6.20 Ultraschall version 4.2AreRenderTablesEqual

Functioncall:
Lua: boolean retval, optional integer count_differentEntries1, optional table differentEntries1, optional integer count_differentEntries2, optional table differentEntries2 = ultraschall.AreRenderTablesEqual(RenderTable RenderTable1, RenderTable RenderTable2)

Description:

compares two RenderTables and returns true, if they are equal.

Returns false in case of an error


Parameters:
RenderTable RenderTable1 the first RenderTable, that you want to compare
RenderTable RenderTable2 the second RenderTable, that you want to compare

Returnvalues:
boolean retval true, RenderTables are equal; false, RenderTables aren't equal
optional integer count_differentEntries1 the number of different table-entries in RenderTable1
optional table differentEntries1 the table-entry-names, that are different in RenderTable1
optional integer count_differentEntries2 the number of different table-entries in RenderTable2
optional table differentEntries2 the table-entry-names, that are different in RenderTable2



^ Reaper version 6.20 Ultraschall version 4.2CreateNewRenderTable

Functioncall:
Lua: RenderTable RenderTable = ultraschall.CreateNewRenderTable(optional integer Source, optional integer Bounds, optional number Startposition, optional number Endposition, optional integer TailFlag, optional integer TailMS, optional string RenderFile, optional string RenderPattern, optional integer SampleRate, optional integer Channels, optional integer OfflineOnlineRendering, optional boolean ProjectSampleRateFXProcessing, optional integer RenderResample, optional boolean OnlyMonoMedia, optional boolean MultiChannelFiles, optional integer Dither, optional string RenderString, optional boolean SilentlyIncrementFilename, optional boolean AddToProj, optional boolean SaveCopyOfProject, optional boolean RenderQueueDelay, optional integer RenderQueueDelaySeconds, optional boolean CloseAfterRender, optional boolean EmbedStretchMarkers, optional string RenderString2, optional boolean EmbedTakeMarkers, optional boolean DoNotSilentRender, optional boolean EmbedMetadata, optional boolean Enable2ndPassRender)

Description:

Creates a new RenderTable.

Parameters set to nil will create a rendertable with all entries set to that of a vanilla factory-default Reaper installation:

Factory-Default will be set to these settings:
          RenderTable["AddToProj"]=false
          RenderTable["Bounds"]=1
          RenderTable["Channels"]=2
          RenderTable["CloseAfterRender"]=true
          RenderTable["Dither"]=0
          RenderTable["EmbedMetaData"]=false
          RenderTable["EmbedStretchMarkers"]=false
          RenderTable["EmbedTakeMarkers"]=false
          RenderTable["Enable2ndPassRender"]=false
          RenderTable["Endposition"]=0
          RenderTable["MultiChannelFiles"]=false
          RenderTable["NoSilentRender"]=false
          RenderTable["OfflineOnlineRendering"]=0
          RenderTable["OnlyMonoMedia"]=false
          RenderTable["ProjectSampleRateFXProcessing"]=true
          RenderTable["RenderFile"]=""
          RenderTable["RenderPattern"]=""
          RenderTable["RenderQueueDelay"]=false
          RenderTable["RenderQueueDelaySeconds"]=0
          RenderTable["RenderResample"]=3
          RenderTable["RenderString"]=""
          RenderTable["RenderString2"]=""
          RenderTable["RenderTable"]=true
          RenderTable["SampleRate"]=44100
          RenderTable["SaveCopyOfProject"]=false
          RenderTable["SilentlyIncrementFilename"]=true
          RenderTable["Source"]=0
          RenderTable["Startposition"]=0
          RenderTable["TailFlag"]=18
          RenderTable["TailMS"]=1000

Returns nil in case of an error

Parameters:
optional integer Source The Source-dropdownlist; 0, Master mix(default) 1, Master mix + stems 3, Stems (selected tracks) 8, Region render matrix 32, Selected media items 256, Embed stretch markers/transient guides-checkbox=on; optional, as parameter EmbedStretchMarkers is meant for that
optional integer Bounds The Bounds-dropdownlist 0, Custom time range 1, Entire project(default) 2, Time selection 3, Project regions 4, Selected Media Items(in combination with Source 32) 5, Selected regions
optional number Startposition the startposition of the render-section in seconds; only used when Bounds=0(Custom time range); default=0
optional number Endposition the endposition of the render-section in seconds; only used when Bounds=0(Custom time range); default=0
optional integer TailFlag in which bounds is the Tail-checkbox checked? (default=18) &1, custom time bounds &2, entire project &4, time selection &8, all project regions &16, selected media items &32, selected project regions
optional integer TailMS the amount of milliseconds of the tail(default=1000)
optional string RenderFile the contents of the Directory-inputbox of the Render to File-dialog; default=""
optional string RenderPattern the render pattern as input into the File name-inputbox of the Render to File-dialog; set to "" if you don't want to use it; default=""
optional integer SampleRate the samplerate of the rendered file(s); default=44100
optional integer Channels the number of channels in the rendered file; 1, mono 2, stereo(default) 3 and higher, the number of channels
optional integer OfflineOnlineRendering Offline/Online rendering-dropdownlist 0, Full-speed Offline(default) 1, 1x Offline 2, Online Render 3, Online Render(Idle) 4, Offline Render(Idle)
optional boolean ProjectSampleRateFXProcessing Use project sample rate for mixing and FX/synth processing-checkbox; true(default), checked; false, unchecked
optional integer RenderResample Resample mode-dropdownlist 0, Medium (64pt Sinc) 1, Low (Linear Interpolation) 2, Lowest (Point Sampling) 3, Good (192pt Sinc) (default) 4, Better (348 pt Sinc) 5, Fast (IIR + Linear Interpolation) 6, Fast (IIRx2 + Linear Interpolation) 7, Fast (16pt Sinc) 8, HQ (512 pt) 9, Extreme HQ(768pt HQ Sinc)
optional boolean OnlyMonoMedia Tracks with only mono media to mono files-checkbox; true, checked; false, unchecked(default)
optional boolean MultiChannelFiles Multichannel tracks to multichannel files-checkbox; true, checked; false, unchecked(default)
optional integer Dither the Dither/Noise shaping-checkboxes; default=0 &1, dither master mix &2, noise shaping master mix &4, dither stems &8, dither noise shaping stems
optional string RenderString the render-cfg-string, that holds all settings of the currently set render-output-format as BASE64 string default is "ZXZhdw==" = WAV, 24 bit PCM, Auto WAV/Wave 64, WriteBWFChunk checked, Include project filename in BWF unchecked, Do not include markers or regions, Embed tempo unchecked.
optional boolean SilentlyIncrementFilename Silently increment filenames to avoid overwriting-checkbox; default=true
optional boolean AddToProj Add rendered items to new tracks in project-checkbox; true, checked; false, unchecked(default)
optional boolean SaveCopyOfProject the "Save copy of project to outfile.wav.RPP"-checkbox; default=false
optional boolean RenderQueueDelay Delay queued render to allow samples to load-checkbox; default=false
optional integer RenderQueueDelaySeconds the amount of seconds for the render-queue-delay; default=0
optional boolean CloseAfterRender true, closes rendering to file-dialog after render(default); false, doesn't close it
optional boolean EmbedStretchMarkers true, Embed stretch markers/transient guides-checkbox=on; false or nil, Embed stretch markers/transient guides"-checkbox=off(default)
optional string RenderString2 the render-string for the secondary rendering; default=""
optional boolean EmbedTakeMarkers the "Take markers"-checkbox; true, checked; false, unchecked(default)
optional boolean DoNotSilentRender the "Do not render files that are likely silent"-checkbox; true, checked; false, unchecked(default)
optional boolean EmbedMetadata the "Embed metadata"-checkbox; true, checked; false, unchecked(default)
optional boolean Enable2ndPassRender true, 2nd pass render is enabled; false, 2nd pass render is disabled

Returnvalues:
RenderTable RenderTable the created RenderTable



^ Reaper version 5.977 SWS version 2.10.0.1 Ultraschall version 4.00GetLastRenderPaths

Functioncall:
Lua: array last_render_paths = ultraschall.GetLastRenderPaths()

Description:

returns the last 20 used render-output-paths, that have been used for rendering by any project in Reaper.

Returnvalues:
array last_render_paths a table, which holds the last 20 used render-output-paths, used by any project in Reaper



^ Reaper version 5.977 SWS version 2.10.0.1 Ultraschall version 4.00GetLastUsedRenderPatterns

Functioncall:
Lua: array last_render_patterns = ultraschall.GetLastUsedRenderPatterns()

Description:

returns the last 12 used render-patterns, that have been used for rendering by any project in Reaper.

Returnvalues:
array last_render_patterns a table, which holds the last 12 used render-patterns, used by any project in Reaper



^ Reaper version 6.20 SWS version 2.10.0.1 JS version 0.972 Ultraschall version 4.2GetRenderTable_Project

Functioncall:
Lua: table RenderTable = ultraschall.GetRenderTable_Project()

Description:

Returns all stored render-settings for the current project, as a handy table.

    RenderTable["AddToProj"] - Add rendered items to new tracks in project-checkbox; true, checked; false, unchecked
    RenderTable["Bounds"] - 0, Custom time range; 
                            1, Entire project; 
                            2, Time selection; 
                            3, Project regions; 
                            4, Selected Media Items(in combination with Source 32); 
                            5, Selected regions
    RenderTable["Channels"] - the number of channels in the rendered file; 
                              1, mono; 
                              2, stereo; 
                              higher, the number of channels
    RenderTable["CloseAfterRender"] - true, closes rendering to file-dialog after render; false, doesn't close it
    RenderTable["Dither"] - &1, dither master mix; 
                            &2, noise shaping master mix; 
                            &4, dither stems; 
                            &8, dither noise shaping stems
    RenderTable["EmbedMetaData"] - Embed metadata; true, checked; false, unchecked
    RenderTable["EmbedStretchMarkers"] - Embed stretch markers/transient guides; true, checked; false, unchecked
        RenderTable["EmbedTakeMarkers"] - Embed Take markers; true, checked; false, unchecked                        
    RenderTable["Enable2ndPassRender"] - true, 2nd pass render is enabled; false, 2nd pass render is disabled
    RenderTable["Endposition"] - the endposition of the rendering selection in seconds            
    RenderTable["MultiChannelFiles"] - Multichannel tracks to multichannel files-checkbox; true, checked; false, unchecked
        RenderTable["NoSilentRender"] - Do not render files that are likely silent-checkbox; true, checked; false, unchecked
    RenderTable["OfflineOnlineRendering"] - Offline/Online rendering-dropdownlist; 
                                            0, Full-speed Offline; 
                                            1, 1x Offline; 
                                            2, Online Render; 
                                            3, Online Render(Idle); 
                                            4, Offline Render(Idle)
    RenderTable["OnlyMonoMedia"] - Tracks with only mono media to mono files-checkbox; true, checked; false, unchecked
    RenderTable["ProjectSampleRateFXProcessing"] - Use project sample rate for mixing and FX/synth processing-checkbox; true, checked; false, unchecked
    RenderTable["RenderFile"] - the contents of the Directory-inputbox of the Render to File-dialog
    RenderTable["RenderPattern"] - the render pattern as input into the File name-inputbox of the Render to File-dialog
    RenderTable["RenderQueueDelay"] - Delay queued render to allow samples to load-checkbox; true, checked; false, unchecked
    RenderTable["RenderQueueDelaySeconds"] - the amount of seconds for the render-queue-delay
    RenderTable["RenderResample"] - Resample mode-dropdownlist; 
                                    0, Medium (64pt Sinc); 
                                    1, Low (Linear Interpolation); 
                                    2, Lowest (Point Sampling); 
                                    3, Good (192pt Sinc); 
                                    4, Better (348 pt Sinc); 
                                    5, Fast (IIR + Linear Interpolation); 
                                    6, Fast (IIRx2 + Linear Interpolation); 
                                    7, Fast (16pt Sinc); 
                                    8, HQ (512 pt); 
                                    9, Extreme HQ(768pt HQ Sinc)
    RenderTable["RenderString"] - the render-cfg-string, that holds all settings of the currently set render-output-format as BASE64 string
    RenderTable["RenderString2"] - the render-cfg-string, that holds all settings of the currently set secondary-render-output-format as BASE64 string
    RenderTable["RenderTable"]=true - signals, this is a valid render-table
    RenderTable["SampleRate"] - the samplerate of the rendered file(s)
    RenderTable["SaveCopyOfProject"] - the "Save copy of project to outfile.wav.RPP"-checkbox; true, checked; false, unchecked
    RenderTable["SilentlyIncrementFilename"] - Silently increment filenames to avoid overwriting-checkbox; true, checked; false, unchecked
    RenderTable["Source"] - 0, Master mix; 
                            1, Master mix + stems; 
                            3, Stems (selected tracks); 
                            8, Region render matrix; 
                            16, Tracks with only Mono-Media to Mono Files; 
                            32, Selected media items; 
                            64, selected media items via master; 
                            128, selected tracks via master
    RenderTable["Startposition"] - the startposition of the rendering selection in seconds
    RenderTable["TailFlag"] - in which bounds is the Tail-checkbox checked
                              &1, custom time bounds; 
                              &2, entire project; 
                              &4, time selection; 
                              &8, all project regions; 
                              &16, selected media items; 
                              &32, selected project regions
    RenderTable["TailMS"] - the amount of milliseconds of the tail

Returns nil in case of an error


Returnvalues:
table RenderTable a table with all of the current project's render-settings



^ Reaper version 6.20 Ultraschall version 4.2GetRenderTable_ProjectFile

Functioncall:
Lua: table RenderTable = ultraschall.GetRenderTable_ProjectFile(string projectfilename_with_path)

Description:

Returns all stored render-settings in a projectfile, as a handy table.

    RenderTable["AddToProj"] - Add rendered items to new tracks in project-checkbox; true, checked; false, unchecked
    RenderTable["Bounds"] - 0, Custom time range; 
                            1, Entire project; 
                            2, Time selection; 
                            3, Project regions; 
                            4, Selected Media Items(in combination with Source 32); 
                            5, Selected regions
    RenderTable["Channels"] - the number of channels in the rendered file; 
                              1, mono; 
                              2, stereo; 
                              higher, the number of channels
    RenderTable["CloseAfterRender"] - true, closes rendering to file-dialog after render; always true, as this isn't stored in projectfiles
    RenderTable["Dither"] - &1, dither master mix; 
                            &2, noise shaping master mix; 
                            &4, dither stems; 
                            &8, dither noise shaping stems
    RenderTable["EmbedMetaData"] - Embed metadata; true, checked; false, unchecked
    RenderTable["EmbedStretchMarkers"] - Embed stretch markers/transient guides; true, checked; false, unchecked
        RenderTable["EmbedTakeMarkers"] - Embed Take markers; true, checked; false, unchecked                        
    RenderTable["Enable2ndPassRender"] - true, 2nd pass render is enabled; false, 2nd pass render is disabled
    RenderTable["Endposition"] - the endposition of the rendering selection in seconds            
    RenderTable["MultiChannelFiles"] - Multichannel tracks to multichannel files-checkbox; true, checked; false, unchecked
        RenderTable["NoSilentRender"] - Do not render files that are likely silent-checkbox; true, checked; false, unchecked
    RenderTable["OfflineOnlineRendering"] - Offline/Online rendering-dropdownlist; 
                                            0, Full-speed Offline; 
                                            1, 1x Offline; 
                                            2, Online Render; 
                                            3, Online Render(Idle); 
                                            4, Offline Render(Idle)
    RenderTable["OnlyMonoMedia"] - Tracks with only mono media to mono files-checkbox; true, checked; false, unchecked
    RenderTable["ProjectSampleRateFXProcessing"] - Use project sample rate for mixing and FX/synth processing-checkbox; true, checked; false, unchecked
    RenderTable["RenderFile"] - the contents of the Directory-inputbox of the Render to File-dialog
    RenderTable["RenderPattern"] - the render pattern as input into the File name-inputbox of the Render to File-dialog
    RenderTable["RenderQueueDelay"] - Delay queued render to allow samples to load-checkbox; true, checked; false, unchecked
    RenderTable["RenderQueueDelaySeconds"] - the amount of seconds for the render-queue-delay
    RenderTable["RenderResample"] - Resample mode-dropdownlist; 
                                    0, Medium (64pt Sinc); 
                                    1, Low (Linear Interpolation); 
                                    2, Lowest (Point Sampling); 
                                    3, Good (192pt Sinc); 
                                    4, Better (348 pt Sinc); 
                                    5, Fast (IIR + Linear Interpolation); 
                                    6, Fast (IIRx2 + Linear Interpolation); 
                                    7, Fast (16pt Sinc); 
                                    8, HQ (512 pt); 
                                    9, Extreme HQ(768pt HQ Sinc)
    RenderTable["RenderString"] - the render-cfg-string, that holds all settings of the currently set render-output-format as BASE64 string
    RenderTable["RenderString2"] - the render-cfg-string, that holds all settings of the currently set secondary-render-output-format as BASE64 string
    RenderTable["RenderTable"]=true - signals, this is a valid render-table
    RenderTable["SampleRate"] - the samplerate of the rendered file(s)
    RenderTable["SaveCopyOfProject"] - the "Save copy of project to outfile.wav.RPP"-checkbox; always true(checked), as this isn't stored in projectfiles
    RenderTable["SilentlyIncrementFilename"] - Silently increment filenames to avoid overwriting-checkbox; always false, as this is not stored in projectfiles
    RenderTable["Source"] - 0, Master mix; 
                            1, Master mix + stems; 
                            3, Stems (selected tracks); 
                            8, Region render matrix; 
                            16, Tracks with only Mono-Media to Mono Files; 
                            32, Selected media items; 
                            64, selected media items via master; 
                            128, selected tracks via master
    RenderTable["Startposition"] - the startposition of the rendering selection in seconds
    RenderTable["TailFlag"] - in which bounds is the Tail-checkbox checked
                              &1, custom time bounds; 
                              &2, entire project; 
                              &4, time selection; 
                              &8, all project regions; 
                              &16, selected media items; 
                              &32, selected project regions
    RenderTable["TailMS"] - the amount of milliseconds of the tail
       

Returns nil in case of an error


Parameters:
string projectfilename_with_path the projectfile, whose render-settings you want to get

Returnvalues:
table RenderTable a table with all of the current project's render-settings



^ Reaper version 5.965 Ultraschall version 4.00IsReaperRendering

Functioncall:
Lua: boolean retval, optional number render_position, optional number render_projectlength, optional ReaProject proj, optional boolean queue_render = ultraschall.IsReaperRendering()

Description:

Returns, if Reaper is currently rendering and the rendering position and projectlength of the rendered project

Returnvalues:
boolean retval true, Reaper is rendering; false, Reaper does not render
optional number render_position the current rendering-position of the rendering project
optional number render_projectlength the length of the currently rendering project
optional ReaProject proj the project currently rendering
optional boolean queue_render true, if a project from the queued-folder is currently being rendered; false, if not; a hint if queued-rendering is currently active



^ Reaper version 6.20 Ultraschall version 4.2IsValidRenderTable

Functioncall:
Lua: boolean retval = ultraschall.IsValidRenderTable(RenderTable RenderTable)

Description:

returns, if the table RenderTable is a valid RenderTable.

Returns false in case of an error; the error-message contains the faulty table-entry.


Parameters:
RenderTable RenderTable the table, that you want to check for validity

Returnvalues:
boolean retval true, RenderTable is a valid RenderTable; false, it is not a valid RenderTable



^ Reaper version 5.965 Ultraschall version 4.1ResolveRenderPattern

Functioncall:
Lua: string resolved_renderpattern = ultraschall.ResolveRenderPattern(string render_pattern)

Description:

resolves a render-pattern into its render-filename(without extension).

returns nil in case of an error


Parameters:
string render_pattern the render-pattern, that you want to resolve into its render-filename

Returnvalues:
string resolved_renderpattern the resolved renderpattern, that is used for a render-filename. just add extension and path to it. Stems will be rendered to path/resolved_renderpattern-XXX.ext where XXX is a number between 001(usually for master-track) and 999




^ Reaper version 5.77 Ultraschall version 4.00CreateRenderCFG_AIFF

Functioncall:
Lua: string render_cfg_string = ultraschall.CreateRenderCFG_AIFF(integer bits, optional boolean EmbedBeatLength)

Description:

Returns the render-cfg-string for the AIFF-format. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns nil in case of an error

Parameters:
integer bits the bitdepth of the aiff-file; 8, 16, 24 and 32 are supported
optional boolean EmbedBeatLength Embed beat length if exact-checkbox; true, checked; false or nil, unchecked

Returnvalues:
string render_cfg_string the render-cfg-string for the selected AIFF-settings



^ Reaper version 5.975 Ultraschall version 4.00CreateRenderCFG_AVI_Video

Functioncall:
Lua: string render_cfg_string = ultraschall.CreateRenderCFG_AVI_Video(integer VideoCodec, integer MJPEG_quality, integer AudioCodec, integer WIDTH, integer HEIGHT, number FPS, boolean AspectRatio)

Description:

Returns the render-cfg-string for the AVI-Video-format. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns nil in case of an error

Parameters:
integer VideoCodec the videocodec used for the video; 1, DV 2, MJPEG 3, FFV1 (lossless) 4, Hufyuv (lossless)
integer MJPEG_quality set here the MJPEG-quality in percent when VideoCodec=2, otherwise just set it to 0
integer AudioCodec the audiocodec to use for the video 1, 16 bit PCM 2, 24 bit PCM 3, 32 bit FP
integer WIDTH the width of the video in pixels; 1 to 2147483647; only even values(2,4,6,etc) will be accepted by Reaper, uneven will be rounded up!
integer HEIGHT the height of the video in pixels; 1 to 2147483647; only even values(2,4,6,etc) will be accepted by Reaper, uneven will be rounded up!
number FPS the fps of the video; must be a double-precision-float value (e.g. 9.09 or 25.00); 0.01 to 2000.00
boolean AspectRatio the aspect-ratio; true, keep source aspect ratio; false, don't keep source aspect ratio

Returnvalues:
string render_cfg_string the render-cfg-string for the selected QT/MOV/MP4-Video-settings



^ Reaper version 5.77 Ultraschall version 4.00CreateRenderCFG_AudioCD

Functioncall:
Lua: string render_cfg_string = ultraschall.CreateRenderCFG_AudioCD(integer trackmode, boolean only_markers_starting_with_hash, integer leadin_silence_tracks, integer leadin_silence_disc, boolean burncd_image_after_render)

Description:

Returns the render-cfg-string for the AudioCD-format. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

You can also check, whether to burn the created cd-image after rendering.

Returns nil in case of an error

Parameters:
integer trackmode Track mode-dropdownlist: 1, Markers define new track; 2, Regions define tracks (other areas ignored); 3, One Track
boolean only_markers_starting_with_hash Only use markers starting with #-checkbox; true, checked; false, unchecked
integer leadin_silence_tracks Lead-in silence for tracks-inputbox, in milliseconds
integer leadin_silence_disc Extra lead-in silence for disc-inputbox, in milliseconds
boolean burncd_image_after_render Burn CD image after render-checkbox; true, checked; false, unchecked

Returnvalues:
string render_cfg_string the render-cfg-string for the selected AudioCD-image-settings



^ Reaper version 5.77 Ultraschall version 4.00CreateRenderCFG_DDP

Functioncall:
Lua: string render_cfg_string = ultraschall.CreateRenderCFG_DDP()

Description:

Returns the render-cfg-string for the DDP-format. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returnvalues:
string render_cfg_string the render-cfg-string for the selected DDP-settings



^ Reaper version 5.77 Ultraschall version 4.00CreateRenderCFG_FLAC

Functioncall:
Lua: string render_cfg_string = ultraschall.CreateRenderCFG_FLAC(integer Bitrate, integer EncSpeed)

Description:

Returns the render-cfg-string for the FLAC-format. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns nil in case of an error

Parameters:
integer Bitrate the bitrate of the flac-file; 0, 24 bit 1, 23/24 bit 2, 22/24 bit 3, 21/24 bit 4, 20/24 bit 5, 19/24 bit 6, 18/24 bit 7, 17/24 bit 8, 16 bit
integer EncSpeed the encoding speed; 0(fastest) to 8(slowest); 5(default)

Returnvalues:
string render_cfg_string the render-cfg-string for the selected FLAC-settings



^ Reaper version 5.975 Ultraschall version 4.00CreateRenderCFG_GIF

Functioncall:
Lua: string render_cfg_string = ultraschall.CreateRenderCFG_GIF(integer Width, integer Height, number MaxFPS, boolean AspectRatio, integer IgnoreLowBits, boolean EncodeTransparency)

Description:

Creates the render-cfg-string for the GIF-format. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns nil in case of an error

Parameters:
integer Width the width of the gif in pixels; 1 to 2147483647
integer Height the height of the gif in pixels; 1 to 2147483647
number MaxFPS the maximum framerate of the gif in fps; 0.01 to 2000.01 supported by the Ultraschall API
boolean AspectRatio Preserve aspect ratio-checkbox; true, checked; false, unchecked
integer IgnoreLowBits Ignore changes in low bits of color-inputbox, 0-7
boolean EncodeTransparency Encode transparency-checkbox; true, checked; false, unchecked

Returnvalues:
string render_cfg_string the render-cfg-string for the selected GIF-settings



^ Reaper version 5.975 Ultraschall version 4.00CreateRenderCFG_LCF

Functioncall:
Lua: string render_cfg_string = ultraschall.CreateRenderCFG_LCF(integer Width, integer Height, number MaxFPS, boolean AspectRatio, optional string LCFoptionstweak)

Description:

Creates the render-cfg-string for the LCF-format. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns nil in case of an error

Parameters:
integer Width the width of the lcf in pixels; 1 to 2147483647
integer Height the height of the lcf in pixels; 1 to 2147483647
number MaxFPS the maximum framerate of the lcf in fps; 0.01 to 2000.01 supported by the Ultraschall API
boolean AspectRatio Preserve aspect ratio-checkbox; true, checked; false, unchecked
optional string LCFoptionstweak a 64bytes string, which can hold tweak-settings for lcf; default is "t20 x128 y16"; this function does not check for these options to be valid!

Returnvalues:
string render_cfg_string the render-cfg-string for the selected LCF-settings



^ Reaper version 5.975 Ultraschall version 4.00CreateRenderCFG_M4AMAC

Functioncall:
Lua: string render_cfg_string = ultraschall.CreateRenderCFG_M4AMAC(integer AUDKBPS, integer WIDTH, integer HEIGHT, number FPS, boolean AspectRatio)

Description:

Returns the render-cfg-string for the M4A-Mac-format. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini
Only available on MacOS!

Returns nil in case of an error

Parameters:
integer AUDKBPS the audio-bitrate for the video; 0 to 2147483647 kbps
integer WIDTH the width of the video in pixels; 1 to 2147483647; only even values(2,4,6,etc) will be accepted by Reaper, uneven will be rounded up!
integer HEIGHT the height of the video in pixels; 1 to 2147483647; only even values(2,4,6,etc) will be accepted by Reaper, uneven will be rounded up!
number FPS the fps of the video; must be a double-precision-float value (e.g. 9.09 or 25.00); 0.01 to 2000.00
boolean AspectRatio the aspect-ratio; true, keep source aspect ratio; false, don't keep source aspect ratio

Returnvalues:
string render_cfg_string the render-cfg-string for the selected M4A-Mac-settings



^ Reaper version 5.975 Ultraschall version 4.00CreateRenderCFG_MKV_Video

Functioncall:
Lua: string render_cfg_string = ultraschall.CreateRenderCFG_MKV_Video(integer VideoCodec, integer MJPEG_quality, integer AudioCodec, integer WIDTH, integer HEIGHT, number FPS, boolean AspectRatio)

Description:

Returns the render-cfg-string for the MKV-Video-format. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns nil in case of an error

Parameters:
integer VideoCodec the videocodec used for the video; 1, FFV1 (lossless) 2, Hufyuv (lossles) 3, MJPEG
integer MJPEG_quality set here the MJPEG-quality in percent, when VideoCodec=3; otherwise just set it to 0
integer AudioCodec the audiocodec to use for the video 1, 16 bit PCM 2, 24 bit PCM 3, 32 bit FP
integer WIDTH the width of the video in pixels; 1 to 2147483647; only even values(2,4,6,etc) will be accepted by Reaper, uneven will be rounded up!
integer HEIGHT the height of the video in pixels; 1 to 2147483647; only even values(2,4,6,etc) will be accepted by Reaper, uneven will be rounded up!
number FPS the fps of the video; must be a double-precision-float value (e.g. 9.09 or 25.00); 0.01 to 2000.00
boolean AspectRatio the aspect-ratio; true, keep source aspect ratio; false, don't keep source aspect ratio

Returnvalues:
string render_cfg_string the render-cfg-string for the selected MKV-Video-settings



^ Reaper version 5.975 Ultraschall version 4.00CreateRenderCFG_MOVMAC_Video

Functioncall:
Lua: string render_cfg_string = ultraschall.CreateRenderCFG_MOVMAC_Video(integer VideoCodec, integer VIDKBPS, integer MJPEG_quality, integer AudioCodec, integer AUDKBPS, integer WIDTH, integer HEIGHT, number FPS, boolean AspectRatio)

Description:

Returns the render-cfg-string for the MOV-Mac-Video-format. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini
Only available on MacOS!

Returns nil in case of an error

Parameters:
integer VideoCodec the videocodec used for this setting 0, h264 1, Apple ProRes 4444 2, Apple ProRes 422 3, MJPEG
integer VIDKBPS the video-bitrate of the video in kbps
integer MJPEG_quality when VideoCodec==3, then MJPEG is used; given in percent
integer AudioCodec the audiocodec used 0, AAC 1, 16-bit PCM 2, 24-bit PCM 3, 32-bit FP PCM
integer AUDKBPS the audio-bitrate of the video in kbps
integer WIDTH the width of the video in pixels
integer HEIGHT the height of the video in pixels
number FPS the fps of the video; must be a double-precision-float value (9.09 or 25.00); due API-limitations, this supports 0.01fps to 2000.00fps
boolean AspectRatio the aspect-ratio; true, keep source aspect ratio; false, don't keep source aspect ratio

Returnvalues:
string render_cfg_string the render-cfg-string for the selected MP4-Mac-Video-settings



^ Reaper version 5.975 Ultraschall version 4.00CreateRenderCFG_MP3ABR

Functioncall:
Lua: string render_cfg_string = ultraschall.CreateRenderCFG_MP3ABR(integer bitrate, integer quality, optional boolean no_joint_stereo, optional boolean write_replay_gain)

Description:

Creates the render-cfg-string for the MP3-format with average bitrate. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns nil in case of an error

Parameters:
integer bitrate the encoding quality for the mp3 0, 8 kbps 1, 16 kbps 2, 24 kbps 3, 32 kbps 4, 40 kbps 5, 48 kbps 6, 56 kbps 7, 64 kbps 8, 80 kbps 9, 96 kbps 10, 112 kbps 11, 128 kbps 12, 160 kbps 13, 192 kbps 14, 224 kbps 15, 256 kbps 16, 320 kbps
integer quality the encoding speed for the mp3 0, Maximum 1, Better 2, Normal 3, FastEncode 4, FasterEncode 5, FastestEncode
optional boolean no_joint_stereo the "Do not allow joint stereo"-checkbox; true, checked; false, unchecked; default is unchecked
optional boolean write_replay_gain the "Write ReplayGain-tag"-checkbox; true, checked; false, unchecked; default is unchecked

Returnvalues:
string render_cfg_string the render-cfg-string for the selected MP3-ABR-settings



^ Reaper version 5.975 Ultraschall version 4.00CreateRenderCFG_MP3CBR

Functioncall:
Lua: string render_cfg_string = ultraschall.CreateRenderCFG_MP3CBR(integer bitrate, integer quality, optional boolean no_joint_stereo, optional boolean write_replay_gain)

Description:

Creates the render-cfg-string for the MP3-format with constant bitrate. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns nil in case of an error

Parameters:
integer bitrate the encoding quality for the mp3 0, 8 kbps 1, 16 kbps 2, 24 kbps 3, 32 kbps 4, 40 kbps 5, 48 kbps 6, 56 kbps 7, 64 kbps 8, 80 kbps 9, 96 kbps 10, 112 kbps 11, 128 kbps 12, 160 kbps 13, 192 kbps 14, 224 kbps 15, 256 kbps 16, 320 kbps
integer quality the encoding speed for the mp3 0, Maximum 1, Better 2, Normal 3, FastEncode 4, FasterEncode 5, FastestEncode
optional boolean no_joint_stereo the "Do not allow joint stereo"-checkbox; true, checked; false, unchecked; default is unchecked
optional boolean write_replay_gain the "Write ReplayGain-tag"-checkbox; true, checked; false, unchecked; default is unchecked

Returnvalues:
string render_cfg_string the render-cfg-string for the selected MP3-CBR-settings



^ Reaper version 5.975 Ultraschall version 4.00CreateRenderCFG_MP3MaxQuality

Functioncall:
Lua: string render_cfg_string = ultraschall.CreateRenderCFG_MP3MaxQuality(optional boolean write_replay_gain)

Description:

Creates the render-cfg-string for the MP3-format with highest quality-settings. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Parameters:
optional boolean write_replay_gain the "Write ReplayGain-tag"-checkbox; true, checked; false, unchecked; default is unchecked

Returnvalues:
string render_cfg_string the renderstring for MP3 with maximum quality



^ Reaper version 5.975 Ultraschall version 4.00CreateRenderCFG_MP3VBR

Functioncall:
Lua: string render_cfg_string = ultraschall.CreateRenderCFG_MP3VBR(integer vbr_quality, integer quality, optional boolean no_joint_stereo, optional boolean write_replay_gain)

Description:

Creates the render-cfg-string for the MP3-format with variable bitrate. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns nil in case of an error

Parameters:
integer vbr_quality the variable-bitrate quality; 1(for 10%) to 10(for 100%)
integer quality the encoding speed for the mp3 0, Maximum 1, Better 2, Normal 3, FastEncode 4, FasterEncode 5, FastestEncode
optional boolean no_joint_stereo the "Do not allow joint stereo"-checkbox; true, checked; false, unchecked; default is unchecked
optional boolean write_replay_gain the "Write ReplayGain-tag"-checkbox; true, checked; false, unchecked; default is unchecked

Returnvalues:
string render_cfg_string the render-cfg-string for the selected MP3-VBR-settings



^ Reaper version 5.975 Ultraschall version 4.00CreateRenderCFG_MP4MAC_Video

Functioncall:
Lua: string render_cfg_string = ultraschall.CreateRenderCFG_MP4MAC_Video(boolean stream, integer VIDKBPS, integer AUDKBPS, integer WIDTH, integer HEIGHT, number FPS, boolean AspectRatio)

Description:

Returns the render-cfg-string for the MP4-Mac-Video-format. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini
Only available on MacOS!

Returns nil in case of an error

Parameters:
boolean Stream true, the mp4-video is stream-optimized; false, the video is not stream-optimized
integer VIDKBPS the video-bitrate for the video; 0 to 2147483647kbps
integer AUDKBPS the audio-bitrate for the video; 0 to 2147483647kbps
integer WIDTH the width of the video in pixels; 1 to 2147483647; only even values(2,4,6,etc) will be accepted by Reaper, uneven will be rounded up!
integer HEIGHT the height of the video in pixels; 1 to 2147483647; only even values(2,4,6,etc) will be accepted by Reaper, uneven will be rounded up!
number FPS the fps of the video; must be a double-precision-float value (e.g. 9.09 or 25.00); 0.01 to 2000.00
boolean AspectRatio the aspect-ratio; true, keep source aspect ratio; false, don't keep source aspect ratio

Returnvalues:
string render_cfg_string the render-cfg-string for the selected MP4-Mac-Video-settings



^ Reaper version 5.77 Ultraschall version 4.00CreateRenderCFG_OGG

Functioncall:
Lua: string render_cfg_string = ultraschall.CreateRenderCFG_OGG(integer Mode, number VBR_Quality, integer CBR_KBPS, integer ABR_KBPS, integer ABR_KBPS_MIN, integer ABR_KBPS_MAX)

Description:

Returns the render-cfg-string for the OGG-format. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini
For all mode-settings that you don't need(kbps or quality), you can safely set them to 1.

Returns nil in case of an error

Parameters:
integer Mode the mode for the ogg-file; 0, VBR; 1, CBR; 2, ABR
number VBR_Quality the quality for VBR-mode; a floating-value between 0 and 1
integer CBR_KBPS the bitrate for CBR-mode; 0 to 2048
integer ABR_KBPS the bitrate for ABR-mode; 0 to 2048
integer ABR_KBPS_MIN the minimum-bitrate for ABR-mode; 0 to 2048
integer ABR_KBPS_MAX the maximum-bitrate for ABR-mode; 0 to 2048

Returnvalues:
string render_cfg_string the render-cfg-string for the selected OGG-settings



^ Reaper version 5.975 Ultraschall version 4.00CreateRenderCFG_Opus

Functioncall:
Lua: string render_cfg_string = ultraschall.CreateRenderCFG_Opus(integer Mode, integer Kbps, integer Complexity, optional boolean channel_audio, optional boolean per_channel)

Description:

Creates the render-cfg-string for the Opus-format. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns nil in case of an error

Parameters:
integer Mode the Mode for the Opus-file; 0, VBR; 1, CVBR; 2, HARDCBR
integer Kbps the kbps of the opus-file; Ultraschall-Api supports between 1 and 10256
integer Complexity the complexity-setting between 0(lowest quality) and 10(highest quality, slow encoding)
boolean channel_audio true, Encode 3-8 channel audio as 2.1-7.1(LFE); false, DON'T Encode 3-8 channel audio as 2.1-7.1(LFE)
boolean per_channel true, kbps per channel (6-256); false, kbps combined for all channels

Returnvalues:
string render_cfg_string the render-cfg-string for the selected Opus-settings



^ Reaper version 5.975 Ultraschall version 4.00CreateRenderCFG_QTMOVMP4_Video

Functioncall:
Lua: string render_cfg_string = ultraschall.CreateRenderCFG_QTMOVMP4_Video(integer VideoCodec, integer MJPEG_quality, integer AudioCodec, integer WIDTH, integer HEIGHT, number FPS, boolean AspectRatio)

Description:

Returns the render-cfg-string for the QT/MOV/MP4-Video-format. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns nil in case of an error

Parameters:
integer VideoCodec the videocodec used for the video; 1, MJPEG
integer MJPEG_quality set here the MJPEG-quality in percent
integer AudioCodec the audiocodec to use for the video 1, 16 bit PCM 2, 24 bit PCM 3, 32 bit FP
integer WIDTH the width of the video in pixels; 1 to 2147483647; only even values(2,4,6,etc) will be accepted by Reaper, uneven will be rounded up!
integer HEIGHT the height of the video in pixels; 1 to 2147483647; only even values(2,4,6,etc) will be accepted by Reaper, uneven will be rounded up!
number FPS the fps of the video; must be a double-precision-float value (e.g. 9.09 or 25.00); 0.01 to 2000.00
boolean AspectRatio the aspect-ratio; true, keep source aspect ratio; false, don't keep source aspect ratio

Returnvalues:
string render_cfg_string the render-cfg-string for the selected QT/MOV/MP4-Video-settings



^ Reaper version 5.77 Ultraschall version 4.00CreateRenderCFG_WAV

Functioncall:
Lua: string render_cfg_string = ultraschall.CreateRenderCFG_WAV(integer BitDepth, integer LargeFiles, integer BWFChunk, integer IncludeMarkers, boolean EmbedProjectTempo)

Description:

Creates the render-cfg-string for the WAV-format. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns nil in case of an error

Parameters:
integer BitDepth the bitdepth of the WAV-file 0, 8 Bit PCM 1, 16 Bit PCM 2, 24 Bit PCM 3, 32 Bit FP 4, 64 Bit FP 5, 4 Bit IMA ADPCM 6, 2 Bit cADPCM
integer LargeFiles how shall Reaper treat large WAV-files 0, Auto WAV/Wave64 1, Auto Wav/RF64 2, Force WAV 3, Force Wave64 4, Force RF64
integer BWFChunk Write BWF ('bext') chunk and Include project filename in BWF data - checkboxes 0, unchecked - unchecked 1, checked - unchecked 2, unchecked - checked 3, checked - checked
integer IncludeMarkers The include markerlist-dropdownlist 0, Do not include markers and regions 1, Markers + regions 2, Markers + regions starting with # 3, Markers only 4, Markers starting with # only 5, Regions only 6, Regions starting with # only
boolean EmbedProjectTempo Embed tempo-checkbox; true, checked; false, unchecked

Returnvalues:
string render_cfg_string the render-cfg-string for the selected WAV-settings



^ Reaper version 5.77 Ultraschall version 4.00CreateRenderCFG_WAVPACK

Functioncall:
Lua: string render_cfg_string = ultraschall.CreateRenderCFG_WAVPACK(integer Mode, integer Bitdepth, integer Writemarkers, boolean WriteBWFChunk, boolean IncludeFilenameBWF)

Description:

Returns the render-cfg-string for the WAVPACK-format. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns nil in case of an error

Parameters:
integer Mode 0, Normal; 1, Fast; 2, High; 3, Very High(slowest)
integer Bitdepth the bitdepth of the WAVPACK-file 0(16Bit) 1(24Bit) 2(32Bit integer) 3(32Bit floating point) 4(23/24 Bit) 5(22/24 Bit) 6(21/24 Bit) 7(20/24 Bit) 8(19/24 Bit) 9(18/24 Bit) 10(17/24 Bit) 11(32 bit floating point -144dB floor) 12(32 bit floating point -120dB floor) 13(32 bit floating point -96dB floor)
integer Writemarkers Write markers as cues-checkboxes 0, nothing checked 1, Write markers as cues->checked 2, Write markers as cues and Only write markers starting with #->checked
boolean WriteBWFChunk the Write BWF chunk-checkbox; true, checked; false, unchecked
boolean IncludeFilenameBWF the include project filename in BWF data-checkbox; true, checked; false, unchecked

Returnvalues:
string render_cfg_string the render-cfg-string for the selected WAVPACK-settings



^ Reaper version 5.975 Ultraschall version 4.00CreateRenderCFG_WebMVideo

Functioncall:
Lua: string render_cfg_string = ultraschall.CreateRenderCFG_WebMVideo(integer VIDKBPS, integer AUDKBPS, integer WIDTH, integer HEIGHT, number FPS, boolean AspectRatio)

Description:

Returns the render-cfg-string for the WebM-Video-format. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns nil in case of an error

Parameters:
integer VIDKBPS the video-bitrate of the video in kbps; 1 to 2147483647
integer AUDKBPS the audio-bitrate of the video in kbps; 1 to 2147483647
integer WIDTH the width of the video in pixels; 1 to 2147483647; only even values(2,4,6,etc) will be accepted by Reaper, uneven will be rounded up!
integer HEIGHT the height of the video in pixels; 1 to 2147483647; only even values(2,4,6,etc) will be accepted by Reaper, uneven will be rounded up!
number FPS the fps of the video; must be a double-precision-float value (e.g. 9.09 or 25.00); 0.01 to 2000.00
boolean AspectRatio the aspect-ratio; true, keep source aspect ratio; false, don't keep source aspect ratio

Returnvalues:
string render_cfg_string the render-cfg-string for the selected WebM-Video-settings




^ Reaper version 6.30 Ultraschall version 4.2CalculateLoudness

Functioncall:
Lua: string filename, string peak, string clip, string rms, string lrange, string lufs_i = ultraschall.CalculateLoudness(integer mode, boolean timeselection)

Description:

Calculates the loudness of items and tracks or returns the loundness of last render/dry-render.

Returns nil in case of an error

Parameters:
integer mode -1, return loundness-stats of the last render/dry render 0, calculate loundness-stats of selected media items 1, calculate loundness-stats of master track 2, calculate loundness-stats of selected tracks
boolean timeselection shall loundness calculation only be within time-selection? only with mode 1 and 2; if no time-selection is given, use entire track false, calculate loundness within the entire tracks; true, calculate loudness-stats within time-selection

Returnvalues:
string filename the filename, that would be rendered
string peak the peak of the rendered element
string clip the clipping of the rendered element
string rms the rms of the rendered element
string lrange the lrange of the rendered element
string lufs_i the lufs-i of the rendered element




^ Reaper version 6.20 Ultraschall version 4.2AddRenderPreset

Functioncall:
Lua: boolean retval = ultraschall.AddRenderPreset(string Bounds_Name, string Options_and_Format_Name, RenderTable RenderTable)

Description:

adds a new render-preset into reaper-render.ini.

This function will check, whether the chosen names are already in use.

Added render-presets are available after (re-)opening in the Render to File-dialog    

Note: You can choose, whether to include only Bounds, only RenderFormatOptions of both. The Bounds and the RenderFormatOptions store different parts of the render-presets.

     Some settings aren't stored in Presets and will get default values:
TailMS=0, SilentlyIncrementFilename=false, AddToProj=false, SaveCopyOfProject=false, RenderQueueDelay=false, RenderQueueDelaySeconds=false, NoSilentRender=false
    
Bounds_Name stores only:
         RenderTable["Bounds"] - the bounds-dropdownlist,
                                 0, Custom time range
                                 1, Entire project
                                 2, Time selection
                                 3, Project regions
                                 4, Selected Media Items(in combination with Source 32)
                                 5, Selected regions
         RenderTable["Startposition"] - the startposition of the render
         RenderTable["Endposition"] - the endposition of the render
         RenderTable["Source"] - the source dropdownlist, includes
                                 0, Master mix
                                 1, Master mix + stems
                                 3, Stems (selected tracks)
                                 8, Region render matrix
                                 32, Selected media items
                                 64, selected media items via master
                                 128, selected tracks via master
         "0"    - unknown, default setting is 0
         RenderTable["RenderPattern"] - the renderpattern, which hold also the wildcards
         RenderTable["TailFlag"] - in which bounds is the Tail-checkbox checked?
                                 &1, custom time bounds
                                 &2, entire project
                                 &4, time selection
                                 &8, all project regions
                                 &16, selected media items
                                 &32, selected project regions

Options_and_Format_Name stores only:
         RenderTable["SampleRate"] - the samplerate, with which to render; 0, use project-settings
         RenderTable["Channels"] - the number of channels for the output-file
         RenderTable["OfflineOnlineRendering"] - the offline/online-dropdownlist
                                 0, Full-speed Offline
                                 1, 1x Offline
                                 2, Online Render
                                 3, Online Render(Idle)
                                 4, Offline Render(Idle);
         RenderTable["ProjectSampleRateFXProcessing"] - Use project sample rate for mixing and FX/synth processing-checkbox; 1, checked; 0, unchecked
         RenderTable["RenderResample"] - Resample mode-dropdownlist;
                                 0, Medium (64pt Sinc)
                                 1, Low (Linear Interpolation)
                                 2, Lowest (Point Sampling)
                                 3, Good (192pt Sinc)
                                 4, Better (348 pt Sinc)
                                 5, Fast (IIR + Linear Interpolation)
                                 6, Fast (IIRx2 + Linear Interpolation)
                                 7, Fast (16pt Sinc)
                                 8, HQ (512 pt)
                                 9, Extreme HQ(768pt HQ Sinc)
         RenderTable["Dither"] - the Dither/Noise shaping-checkboxes:
                                 &1, dither master mix
                                 &2, noise shaping master mix
                                 &4, dither stems
                                 &8, dither noise shaping stems
         RenderTable["MultiChannelFiles"] - multichannel-files-checkbox
         RenderTable["OnlyMonoMedia"] - only mono media-checkbox
         RenderTable["EmbedMetaData"] - Embed metadata; true, checked; false, unchecked
         RenderTable["EmbedStretchMarkers"] - Embed stretch markers/transient guides-checkbox
              RenderTable["EmbedTakeMarkers"] - Embed Take markers-checkbox
         RenderTable["Enable2ndPassRender"] - true, 2nd pass render is enabled; false, 2nd pass render is disabled
         RenderTable["RenderString"] - the render-cfg-string, which holds the render-outformat-settings
         RenderTable["RenderString2"] - the render-cfg-string, which holds the secondary render-outformat-settings
  
Returns false in case of an error

Parameters:
string Bounds_Name the name of the Bounds-render-preset you want to add; nil, to not add a new Bounds-render-preset
string Options_and_Format_Name the name of the Renderformat-options-render-preset you want to add; to not add a new Render-Format-Options-render-preset
RenderTable RenderTable the RenderTable, which holds all information for inclusion into the Render-Preset

Returnvalues:
boolean retval true, adding was successful; false, adding was unsuccessful



^ Reaper version 6.02 Ultraschall version 4.00DeleteRenderPreset_Bounds

Functioncall:
Lua: boolean retval = ultraschall.DeleteRenderPreset_Bounds(string Bounds_Name)

Description:

deletes a Bounds-render-preset from Reaper's render-presets.

This deletes all(!) occurrences of the Bounds-render-preset with the same name. Though, you shouldn't store multiple Bounds-render-presets with the same name into reaper-render.ini in the first place.

use GetRenderPreset_Names to get the available render-preset-names.

Returns false in case of an error


Parameters:
string Bounds_Name the name of the Bounds-render-preset you want to get

Returnvalues:
boolean retval true, deleting was successful; false, deleting was unsuccessful



^ Reaper version 5.975 Ultraschall version 4.00DeleteRenderPreset_FormatOptions

Functioncall:
Lua: boolean retval = ultraschall.DeleteRenderPreset_FormatOptions(string Options_and_Format_Name)

Description:

deletes a Render-Format-Options-render-preset from Reaper's render-presets.

This deletes all(!) occurrences of the Render-Format-Options-render-preset with the same name. Though, you shouldn't store multiple Render-Format-Options-render-preset with the same name into reaper-render.ini in the first place.

use GetRenderPreset_Names to get the available render-preset-names.

Returns false in case of an error


Parameters:
string Options_and_Format_Name the name of the Renderformat-options-render-preset you want to get

Returnvalues:
boolean retval true, deleting was successful; false, deleting was unsuccessful



^ Reaper version 6.02 Ultraschall version 4.00GetRenderPreset_Names

Functioncall:
Lua: integer bounds_presets, table bounds_names, integer options_format_presets, table options_format_names, integer both_presets, table both_names = ultraschall.GetRenderPreset_Names()

Description:

Returns all render-preset-names for a) Bounds and output pattern/filename b) Options and format c) both presets, who share the same name

Returnvalues:
integer bounds_presets the number of found bounds and output-pattern-presets
table bounds_names the names of all found bounds and output-pattern-presets
integer options_format_presets the number of found options and format-presets
table options_format_names the names of all found options and format-presets
integer both_presets the number of found presets, who both share the same name
table both_names the names of all found presets, who both share the same name



^ Reaper version 6.20 Ultraschall version 4.2GetRenderPreset_RenderTable

Functioncall:
Lua: RenderTable RenderTable = ultraschall.GetRenderPreset_RenderTable(string Bounds_Name, string Options_and_Format_Name)

Description:

returns a rendertable, that contains all settings of a specific render-preset.

use GetRenderPreset_Names to get the available render-preset-names.

Some settings aren't stored in Presets and will get default values: TailMS=0, SilentlyIncrementFilename=false, AddToProj=false, SaveCopyOfProject=false, RenderQueueDelay=false, RenderQueueDelaySeconds=false, NoSilentRender=false

returned table if of the following format:

RenderTable["AddToProj"] - Add rendered items to new tracks in project-checkbox; always false, as this isn't stored in render-presets RenderTable["Bounds"] - 0, Custom time range; 1, Entire project; 2, Time selection; 3, Project regions; 4, Selected Media Items(in combination with Source 32); 5, Selected regions RenderTable["Channels"] - the number of channels in the rendered file; 1, mono; 2, stereo; higher, the number of channels RenderTable["CloseAfterRender"] - close rendering to file-dialog after rendering; always true, as this isn't stored in render-presets RenderTable["Dither"] - &1, dither master mix; &2, noise shaping master mix; &4, dither stems; &8, dither noise shaping stems RenderTable["EmbedMetaData"] - Embed metadata; true, checked; false, unchecked RenderTable["EmbedStretchMarkers"] - Embed stretch markers/transient guides; true, checked; false, unchecked RenderTable["EmbedTakeMarkers"] - Embed Take markers; true, checked; false, unchecked RenderTable["Enable2ndPassRender"] - true, 2nd pass render is enabled; false, 2nd pass render is disabled RenderTable["Endposition"] - the endposition of the rendering selection in seconds RenderTable["MultiChannelFiles"] - Multichannel tracks to multichannel files-checkbox; true, checked; false, unchecked RenderTable["OfflineOnlineRendering"] - Offline/Online rendering-dropdownlist; 0, Full-speed Offline; 1, 1x Offline; 2, Online Render; 3, Online Render(Idle); 4, Offline Render(Idle) RenderTable["OnlyMonoMedia"] - Tracks with only mono media to mono files-checkbox; true, checked; false, unchecked RenderTable["NoSilentRender"] - Do not render files that are likely silent-checkbox; can't be set in render-presets, therefore always set to false RenderTable["ProjectSampleRateFXProcessing"] - Use project sample rate for mixing and FX/synth processing-checkbox; true, checked; false, unchecked RenderTable["RenderFile"] - the contents of the Directory-inputbox of the Render to File-dialog RenderTable["RenderPattern"] - the render pattern as input into the File name-inputbox of the Render to File-dialog RenderTable["RenderQueueDelay"] - Delay queued render to allow samples to load-checkbox; always false, as this isn't stored in render-presets RenderTable["RenderQueueDelaySeconds"] - the amount of seconds for the render-queue-delay; always 0, as this isn't stored in render-presets RenderTable["RenderResample"] - Resample mode-dropdownlist; 0, Medium (64pt Sinc); 1, Low (Linear Interpolation); 2, Lowest (Point Sampling); 3, Good (192pt Sinc); 4, Better (348 pt Sinc); 5, Fast (IIR + Linear Interpolation); 6, Fast (IIRx2 + Linear Interpolation); 7, Fast (16pt Sinc); 8, HQ (512 pt); 9, Extreme HQ(768pt HQ Sinc) RenderTable["RenderString"] - the render-cfg-string, that holds all settings of the currently set render-output-format as BASE64 string RenderTable["RenderString2"] - the render-cfg-string, that holds all settings of the currently set secondary-render-output-format as BASE64 string RenderTable["RenderTable"]=true - signals, this is a valid render-table RenderTable["SampleRate"] - the samplerate of the rendered file(s) RenderTable["SaveCopyOfProject"] - the "Save copy of project to outfile.wav.RPP"-checkbox; always false, as this isn't stored in render-presets RenderTable["SilentlyIncrementFilename"] - Silently increment filenames to avoid overwriting-checkbox; always true, as this isn't stored in Presets RenderTable["Source"] - 0, Master mix; 1, Master mix + stems; 3, Stems (selected tracks); 8, Region render matrix; 16, Tracks with only Mono-Media to Mono Files; 32, Selected media items; 64, selected media items via master; 128, selected tracks via master RenderTable["Startposition"] - the startposition of the rendering selection in seconds RenderTable["TailFlag"] - in which bounds is the Tail-checkbox checked? &1, custom time bounds; &2, entire project; &4, time selection; &8, all project regions; &16, selected media items; &32, selected project regions RenderTable["TailMS"] - the amount of milliseconds of the tail; always 0, as this isn't stored in render-presets

Returns nil in case of an error


Parameters:
string Bounds_Name the name of the Bounds-render-preset you want to get
string Options_and_Format_Name the name of the Renderformat-options-render-preset you want to get

Returnvalues:
RenderTable RenderTable a render-table, which contains all settings from a render-preset



^ Reaper version 6.20 Ultraschall version 4.2SetRenderPreset

Functioncall:
Lua: boolean retval = ultraschall.SetRenderPreset(string Bounds_Name, string Options_and_Format_Name, RenderTable RenderTable)

Description:

sets an already existing render-preset in reaper-render.ini.

This function will check, whether the chosen names aren't given yet in any preset.

Changed render-presets are updated after (re-)opening in the Render to File-dialog    

Note: You can choose, whether to include only Bounds, only RenderFormatOptions of both. The Bounds and the RenderFormatOptions store different parts of the render-presets.

     Some settings aren't stored in Presets and will get default values:
TailMS=0, SilentlyIncrementFilename=false, AddToProj=false, SaveCopyOfProject=false, RenderQueueDelay=false, RenderQueueDelaySeconds=false, NoSilentRender=false
    
Bounds_Name stores only:
         RenderTable["Bounds"] - the bounds-dropdownlist,
                                 0, Custom time range
                                 1, Entire project
                                 2, Time selection
                                 3, Project regions
                                 4, Selected Media Items(in combination with Source 32)
                                 5, Selected regions
         RenderTable["Startposition"] - the startposition of the render
         RenderTable["Endposition"] - the endposition of the render
         RenderTable["Source"]+RenderTable["MultiChannelFiles"]+RenderTable["OnlyMonoMedia"] - the source dropdownlist, includes
                                 0, Master mix
                                 1, Master mix + stems
                                 3, Stems (selected tracks)
                                 &4, Multichannel tracks to multichannel files
                                 8, Region render matrix
                                 &16, Tracks with only mono media to mono files
                                 32, Selected media items
                                 64, selected media items via master
                                 128, selected tracks via master
         "0"    - unknown, default setting is 0
         RenderTable["RenderPattern"] - the renderpattern, which hold also the wildcards
         RenderTable["TailFlag"] - in which bounds is the Tail-checkbox checked?
                                 &1, custom time bounds
                                 &2, entire project
                                 &4, time selection
                                 &8, all project regions
                                 &16, selected media items
                                 &32, selected project regions

Options_and_Format_Name stores only:
         RenderTable["SampleRate"] - the samplerate, with which to render; 0, use project-settings
         RenderTable["Channels"] - the number of channels for the output-file
         RenderTable["OfflineOnlineRendering"] - the offline/online-dropdownlist
                                 0, Full-speed Offline
                                 1, 1x Offline
                                 2, Online Render
                                 3, Online Render(Idle)
                                 4, Offline Render(Idle);
         RenderTable["ProjectSampleRateFXProcessing"] - Use project sample rate for mixing and FX/synth processing-checkbox; 1, checked; 0, unchecked
         RenderTable["RenderResample"] - Resample mode-dropdownlist;
                                 0, Medium (64pt Sinc)
                                 1, Low (Linear Interpolation)
                                 2, Lowest (Point Sampling)
                                 3, Good (192pt Sinc)
                                 4, Better (348 pt Sinc)
                                 5, Fast (IIR + Linear Interpolation)
                                 6, Fast (IIRx2 + Linear Interpolation)
                                 7, Fast (16pt Sinc)
                                 8, HQ (512 pt)
                                 9, Extreme HQ(768pt HQ Sinc)
         RenderTable["Dither"] - the Dither/Noise shaping-checkboxes:
                                 &1, dither master mix
                                 &2, noise shaping master mix
                                 &4, dither stems
                                 &8, dither noise shaping stems
         RenderTable["EmbedMetaData"] - Embed metadata; true, checked; false, unchecked  
         RenderTable["EmbedStretchMarkers"] - Embed stretch markers/transient guides-checkbox
         RenderTable["EmbedTakeMarkers"] - Embed Take markers-checkbox
         RenderTable["Enable2ndPassRender"] - true, 2nd pass render is enabled; false, 2nd pass render is disabled
         RenderTable["RenderString"] - the render-cfg-string, which holds the render-outformat-settings
         RenderTable["RenderString2"] - the render-cfg-string, which holds the secondary render-outformat-settings; "" to remove it from this preset

Returns false in case of an error

Parameters:
string Bounds_Name the name of the Bounds-render-preset you want to add; nil, to not add a new Bounds-render-preset
string Options_and_Format_Name the name of the Renderformat-options-render-preset you want to add; to not add a new Render-Format-Options-render-preset
RenderTable RenderTable the RenderTable, which holds all information for inclusion into the Render-Preset

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful




^ Reaper version 6.10 Ultraschall version 4.1GetRender_AddRenderedFilesToProject

Functioncall:
Lua: boolan curcheckstate = ultraschall.GetRender_AddRenderedFilesToProject()

Description:

Returns the current check-state of the "Add rendered items to new tracks in project"-checkbox of the Render to File-dialog

Returnvalues:
boolean curcheckstate true, checkbox is checked; false, checkbox is unchecked



^ Reaper version 5.975 SWS version 2.10.0.1 JS version 0.972 Ultraschall version 4.00GetRender_AutoIncrementFilename

Functioncall:
Lua: boolean retval = ultraschall.GetRender_AutoIncrementFilename()

Description:

Gets the current state of the "Silently increment filenames to avoid overwriting"-checkbox from the Render to File-dialog.


Returnvalues:
boolean state true, check the checkbox; false, uncheck the checkbox



^ Reaper version 6.11 SWS version 2.10.0.1 JS version 0.972 Ultraschall version 4.1GetRender_EmbedMetaData

Functioncall:
Lua: boolean retval = ultraschall.GetRender_EmbedMetaData()

Description:

Gets the current state of the "Embed metadata"-checkbox from the Render to File-dialog.


Returnvalues:
boolean state true, check the checkbox; false, uncheck the checkbox



^ Reaper version 6.02 SWS version 2.10.0.1 JS version 0.972 Ultraschall version 4.00GetRender_EmbedStretchMarkers

Functioncall:
Lua: boolean retval = ultraschall.GetRender_EmbedStretchMarkers()

Description:

Gets the current state of the "Embed stretch markers/transient guides"-checkbox from the Render to File-dialog.


Returnvalues:
boolean state true, check the checkbox; false, uncheck the checkbox



^ Reaper version 6.10 Ultraschall version 4.1GetRender_NoSilentFiles

Functioncall:
Lua: boolan curcheckstate = ultraschall.GetRender_NoSilentFiles()

Description:

Returns the current check-state of the "Do not render files that are likely silent"-checkbox of the Render to File-dialog

Returnvalues:
boolean curcheckstate true, checkbox is checked; false, checkbox is unchecked



^ Reaper version 5.975 SWS version 2.10.0.1 JS version 0.972 Ultraschall version 4.00GetRender_OfflineOnlineMode

Functioncall:
Lua: integer mode = ultraschall.GetRender_OfflineOnlineMode()

Description:

gets the current mode of the offline/online-render-dropdownlist from the Render to File-dialog

Returnvalues:
integer mode the mode, that is set 0, Full-speed Offline 1, 1x Offline 2, Online Render 3, Offline Render (Idle) 4, 1x Offline Render (Idle)



^ Reaper version 5.975 SWS version 2.10.0.1 JS version 0.972 Ultraschall version 4.00GetRender_ProjectSampleRateForMix

Functioncall:
Lua: boolean retval = ultraschall.GetRender_ProjectSampleRateForMix()

Description:

Gets the current state of the "Use project sample rate for mixing and FX/synth processing"-checkbox from the Render to File-dialog.


Returnvalues:
boolean state true, check the checkbox; false, uncheck the checkbox



^ Reaper version 5.975 SWS version 2.10.0.1 JS version 0.972 Ultraschall version 4.00GetRender_QueueDelay

Functioncall:
Lua: boolean retval, integer length = ultraschall.GetRender_QueueDelay()

Description:

Gets the current checkstate of the "Delay queued render to allow samples to load"-checkbox from the Render to File-dialog, as well as the length of the queue-render-delay.


Returnvalues:
boolean state true, check the checkbox; false, uncheck the checkbox
integer length the number of seconds the delay shall be



^ Reaper version 5.975 SWS version 2.10.0.1 JS version 0.972 Ultraschall version 4.00GetRender_ResampleMode

Functioncall:
Lua: integer mode = ultraschall.GetRender_ResampleMode()

Description:

gets the current mode of the "Resample mode (if needed)"-dropdownlist from the Render to File-dialog

Returnvalues:
integer mode the mode, that is set 0, Medium (64pt Sinc), 1, Low (Linear Interpolation), 2, Lowest (Point Sampling), 3, Good(192pt Sinc), 4, Better(384pt Sinc), 5, Fast (IIR + Linear Interpolation), 6, Fast (IIRx2 + Linear Interpolation), 7, Fast (16pt sinc) - Default, 8, HQ (512pt Sinc), 9, Extreme HQ (768pt HQ Sinc)



^ Reaper version 5.975 SWS version 2.10.0.1 JS version 0.972 Ultraschall version 4.00GetRender_SaveCopyOfProject

Functioncall:
Lua: boolean retval = ultraschall.GetRender_SaveCopyOfProject()

Description:

Gets the current state of the "Save copy of project to outfile.wav.RPP"-checkbox from the Render to File-dialog.

Returns false in case of an error


Returnvalues:
boolean retval true, checkbox is checked; false, checkbox is unchecked



^ Reaper version 6.10 Ultraschall version 4.1GetRender_TailLength

Functioncall:
Lua: integer taillength_ms = ultraschall.GetRender_TailLength()

Description:

Returns the current tail-length in ms, as set in the Render to File-dialog

Returnvalues:
integer taillength_ms the current taillength in ms



^ Reaper version 6.10 Ultraschall version 4.1SetRender_AddRenderedFilesToProject

Functioncall:
Lua: boolan retval = ultraschall.SetRender_AddRenderedFilesToProject(boolean state)

Description:

Sets the current check-state of the "Add rendered items to new tracks in project"-checkbox of the Render to File-dialog

returns false in case of an error

Parameters:
boolean state true, checkbox is checked; false, checkbox is unchecked

Returnvalues:
boolean retval true, setting checkbox was successful; false, setting checkbox was unsuccessful



^ Reaper version 5.975 SWS version 2.10.0.1 JS version 0.972 Ultraschall version 4.00SetRender_AutoIncrementFilename

Functioncall:
Lua: boolean retval = ultraschall.SetRender_AutoIncrementFilename(boolean state)

Description:

Gets the current state of the "Silently increment filenames to avoid overwriting"-checkbox from the Render to File-dialog.

Returns false in case of an error


Parameters:
boolean state true, check the checkbox; false, uncheck the checkbox

Returnvalues:
boolean retval true, setting was successful; false, it was unsuccessful



^ Reaper version 6.11 SWS version 2.10.0.1 JS version 0.972 Ultraschall version 4.1SetRender_EmbedMetaData

Functioncall:
Lua: boolean retval = ultraschall.SetRender_EmbedMetaData(boolean state)

Description:

Sets the new state of the "Embed metadata"-checkbox from the Render to File-dialog.

Returns false in case of an error


Parameters:
boolean state true, check the checkbox; false, uncheck the checkbox

Returnvalues:
boolean retval true, setting was successful; false, it was unsuccessful



^ Reaper version 6.02 SWS version 2.10.0.1 JS version 0.972 Ultraschall version 4.00SetRender_EmbedStretchMarkers

Functioncall:
Lua: boolean retval = ultraschall.SetRender_EmbedStretchMarkers(boolean state)

Description:

Sets the new state of the "Embed stretch markers/transient guides"-checkbox from the Render to File-dialog.

Returns false in case of an error


Parameters:
boolean state true, check the checkbox; false, uncheck the checkbox

Returnvalues:
boolean retval true, setting was successful; false, it was unsuccessful



^ Reaper version 6.10 Ultraschall version 4.1SetRender_NoSilentFiles

Functioncall:
Lua: boolan retval = ultraschall.SetRender_NoSilentFiles(boolean state)

Description:

Sets the current check-state of the "Do not render files that are likely silent"-checkbox of the Render to File-dialog

returns false in case of an error

Parameters:
boolean state true, checkbox is checked; false, checkbox is unchecked

Returnvalues:
boolean retval true, setting checkbox was successful; false, setting checkbox was unsuccessful



^ Reaper version 5.975 SWS version 2.10.0.1 JS version 0.972 Ultraschall version 4.00SetRender_OfflineOnlineMode

Functioncall:
Lua: boolean retval = ultraschall.SetRender_OfflineOnlineMode(integer mode)

Description:

sets the current mode of the offline/online-render-dropdownlist from the Render to File-dialog

Returns false in case of an error

Parameters:
integer mode the mode, that you want to set 0, Full-speed Offline 1, 1x Offline 2, Online Render 3, Offline Render (Idle) 4, 1x Offline Render (Idle)

Returnvalues:
boolean retval true, setting it was successful; false, setting it was unsuccessful



^ Reaper version 5.975 SWS version 2.10.0.1 JS version 0.972 Ultraschall version 4.00SetRender_ProjectSampleRateForMix

Functioncall:
Lua: boolean retval = ultraschall.SetRender_ProjectSampleRateForMix(boolean state)

Description:

Sets the "Use project sample rate for mixing and FX/synth processing"-checkbox of the Render to File-dialog.

Returns false in case of an error


Parameters:
boolean state true, check the checkbox; false, uncheck the checkbox

Returnvalues:
boolean retval true, setting was successful; false, it was unsuccessful



^ Reaper version 5.975 SWS version 2.10.0.1 JS version 0.972 Ultraschall version 4.00SetRender_QueueDelay

Functioncall:
Lua: boolean retval = ultraschall.SetRender_QueueDelay(boolean state, integer length)

Description:

Sets the "Delay queued render to allow samples to load"-checkbox of the Render to File-dialog.

Returns false in case of an error


Parameters:
boolean state true, check the checkbox; false, uncheck the checkbox
integer length the number of seconds the delay shall be

Returnvalues:
boolean retval true, setting was successful; false, it was unsuccessful



^ Reaper version 5.975 SWS version 2.10.0.1 JS version 0.972 Ultraschall version 4.00SetRender_ResampleMode

Functioncall:
Lua: boolean retval = ultraschall.SetRender_ResampleMode(integer mode)

Description:

sets the current mode of the "Resample mode (if needed)"-dropdownlist from the Render to File-dialog

Returns false in case of an error

Parameters:
integer mode the mode, that is set 0, Medium (64pt Sinc), 1, Low (Linear Interpolation), 2, Lowest (Point Sampling), 3, Good(192pt Sinc), 4, Better(384pt Sinc), 5, Fast (IIR + Linear Interpolation), 6, Fast (IIRx2 + Linear Interpolation), 7, Fast (16pt sinc) - Default, 8, HQ (512pt Sinc), 9, Extreme HQ (768pt HQ Sinc)

Returnvalues:
boolean retval true, setting it was successful; false, setting it was unsuccessful



^ Reaper version 5.975 SWS version 2.10.0.1 JS version 0.972 Ultraschall version 4.00SetRender_SaveCopyOfProject

Functioncall:
Lua: boolean retval = ultraschall.SetRender_SaveCopyOfProject(boolean state)

Description:

Sets the "Save copy of project to outfile.wav.RPP"-checkbox of the Render to File-dialog.

Returns false in case of an error


Parameters:
boolean state true, check the checkbox; false, uncheck the checkbox

Returnvalues:
boolean retval true, setting was successful; false, it was unsuccessful



^ Reaper version 6.10 Ultraschall version 4.1SetRender_TailLength

Functioncall:
Lua: boolan retval = ultraschall.SetRender_TailLength(boolean state)

Description:

Sets the tail-length, as set in the Render to File-dialog

returns false in case of an error

Parameters:
integer taillength the taillength in milliseconds

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful




^ Reaper version 5.975 Ultraschall version 4.00AddProjectFileToRenderQueue

Functioncall:
Lua: boolean retval = ultraschall.AddProjectFileToRenderQueue(string projectfilename_with_path)

Description:

Adds a projectfile or the current active project to the render-queue

returns false in case of an error


Parameters:
string projectfilename_with_path the projectfile, that you want to add to the render-queue; nil, to add the current active project

Returnvalues:
boolean retval true, adding was successful; false, adding was unsuccessful



^ Reaper version 5.979 Ultraschall version 4.00AddSelectedItemsToRenderQueue

Functioncall:
Lua: boolean retval, integer num_queued_projects = ultraschall.AddSelectedItemsToRenderQueue(optional boolean render_items_individually, optional boolean render_items_through_master, optional RenderTable RenderTables)

Description:

Adds the selected MediaItems to the render-queue.

returns false in case of an error


Parameters:
optional boolean render_items_individually false or nil, render all selected MediaItems in one render-queued-project; true, render all selected MediaItems individually as separate Queued-projects
optional boolean render_items_through_master false or nil, just render the MediaItems; true, render the MediaItems through the Master-channel
optional RenderTable RenderTables a RenderTable to apply for the renders in the render-queue

Returnvalues:
boolean retval true, adding was successful; false, adding was unsuccessful
integer num_queued_projects the number of newly created projects in the render-queue



^ Reaper version 5.975 Ultraschall version 4.00GetRenderQueuedProjects

Functioncall:
Lua: integer Filecount, array Filearray = ultraschall.GetRenderQueuedProjects()

Description:

Gets the number and names of files currently in the render-queue


Returnvalues:
integer Filecount the number of project-files in the render-queue
array Filearray filenames with path of all queued-projectfiles



^ Reaper version 5.975 Ultraschall version 4.00RenderProject_RenderQueue

Functioncall:
Lua: boolean retval = ultraschall.RenderProject_RenderQueue(integer index)

Description:

Renders a specific project from the render-queue.

See GetRenderQueuedProjects to get the names of the currently existing render-queue-projects, where the filename-order reflects the index needed for this function.

returns false in case of an error


Parameters:
integer index the index of the render-queued-project; beginning with 1; -1 to render all projects in the render-queue

Returnvalues:
boolean retval false, a problem occurred; true, rendering went through; returns true as well, when rendering is aborted!




^ Reaper version 6.04 SWS version 2.10.0.1 JS version 0.972 Ultraschall version 4.00RenderProject

Functioncall:
Lua: integer retval, integer renderfilecount, array MediaItemStateChunkArray, array Filearray = ultraschall.RenderProject(string projectfilename_with_path, string renderfilename_with_path, number startposition, number endposition, boolean overwrite_without_asking, boolean renderclosewhendone, boolean filenameincrease, optional string rendercfg, optional string rendercfg2)

Description:

Renders a project, using a specific render-cfg-string.
To get render-cfg-strings, see functions starting with CreateRenderCFG_, like CreateRenderCFG_AIFF, CreateRenderCFG_DDP, CreateRenderCFG_FLAC, CreateRenderCFG_OGG, CreateRenderCFG_Opus, etc.

Will use the render-settings currently set in projectfilename_with_path/the currently active project, except bound(set to Custom time range), render file and render-pattern, as they are set by this function!

Returns -1 in case of an error

Parameters:
string projectfilename_with_path the project to render; nil, for the currently opened project
string renderfilename_with_path the filename with path of the output-file. If you give the wrong extension, Reaper will exchange it by the correct one. You can use wildcards to some extend in the actual filename(not the path!) note: parameter overwrite_without_asking only works, when you give the right extension and use no wildcards, due API-limitations!
number startposition the startposition of the render-area in seconds; -1, to use the startposition set in the projectfile itself; -2, to use the start of the time-selection
number endposition the endposition of the render-area in seconds; -1, to use the endposition set in the projectfile/current project itself -2, to use the end of the time-selection
boolean overwrite_without_asking true, overwrite an existing renderfile; false, don't overwrite an existing renderfile works only, when renderfilename_with_path has the right extension given and when not using wildcards(due API-limitations)!
boolean renderclosewhendone true, automatically close the render-window after rendering; false, keep rendering window open after rendering; nil, use current settings
boolean filenameincrease true, silently increase filename, if it already exists; false, ask before overwriting an already existing outputfile; nil, use current settings
optional string rendercfg the rendercfg-string, that contains all render-settings for an output-format To get render-cfg-strings, see CreateRenderCFG_xxx-functions, like: CreateRenderCFG_AIFF, CreateRenderCFG_DDP, CreateRenderCFG_FLAC, CreateRenderCFG_OGG, CreateRenderCFG_Opus, CreateRenderCFG_WAVPACK, CreateRenderCFG_WebMVideo If you want to render the current project, you can use a four-letter-version of the render-string; will use the default settings for that format. Not available with projectfiles! "evaw" for wave, "ffia" for aiff, " iso" for audio-cd, " pdd" for ddp, "calf" for flac, "l3pm" for mp3, "vggo" for ogg, "SggO" for Opus, "PMFF" for FFMpeg-video, "FVAX" for MP4Video/Audio on Mac, " FIG" for Gif, " FCL" for LCF, "kpvw" for wavepack
optional string rendercfg2 just like rendercfg, but for the secondary render-format

Returnvalues:
integer retval -1, in case of error; 0, in case of success
integer renderfilecount the number of rendered files
array MediaItemStateChunkArray the MediaItemStateChunks of all rendered files, with the one in entry 1 being the rendered master-track(when rendering stems+master)
array Filearray the filenames of the rendered files, including their paths. The filename in entry 1 is the one of the mastered track(when rendering stems+master)



^ Reaper version 6.04 Ultraschall version 4.00RenderProject_Regions

Functioncall:
Lua: integer retval, integer renderfilecount, array MediaItemStateChunkArray, array Filearray = ultraschall.RenderProject_Regions(string projectfilename_with_path, string renderfilename_with_path, integer region, boolean addregionname, boolean overwrite_without_asking, boolean renderclosewhendone, boolean filenameincrease, string rendercfg, optional string addregionnameseparator, optional string rendercfg2)

Description:

Renders a region of a project, using a specific render-cfg-string.
To get render-cfg-strings, see CreateRenderCFG_AIFF, CreateRenderCFG_DDP, CreateRenderCFG_FLAC, CreateRenderCFG_OGG, CreateRenderCFG_Opus

Returns -1 in case of an error

Parameters:
string projectfilename_with_path the project to render; nil, for the currently opened project
string renderfilename_with_path the filename of the output-file. You can use wildcards to some extend in the actual filename(not the path!); doesn't support $region yet Will be seen as path only, when you set addregionname=true and addregionnameseparator="/"
integer region the number of the region in the Projectfile to render
boolean addregionname add the name of the region to the renderfilename; only works, when you don't add a file-extension to renderfilename_with_path
boolean overwrite_without_asking true, overwrite an existing renderfile; false, don't overwrite an existing renderfile
boolean renderclosewhendone true, automatically close the render-window after rendering; false, keep rendering window open after rendering; nil, use current settings
boolean filenameincrease true, silently increase filename, if it already exists; false, ask before overwriting an already existing outputfile; nil, use current settings
string rendercfg the rendercfg-string, that contains all render-settings for an output-format To get render-cfg-strings, see CreateRenderCFG_xxx-functions, like: CreateRenderCFG_AIFF, CreateRenderCFG_DDP, CreateRenderCFG_FLAC, CreateRenderCFG_OGG, CreateRenderCFG_Opus, CreateRenderCFG_WAVPACK, CreateRenderCFG_WebMVideo If you want to render the current project, you can use a four-letter-version of the render-string; will use the default settings for that format. Not available with projectfiles! "evaw" for wave, "ffia" for aiff, " iso" for audio-cd, " pdd" for ddp, "calf" for flac, "l3pm" for mp3, "vggo" for ogg, "SggO" for Opus, "PMFF" for FFMpeg-video, "FVAX" for MP4Video/Audio on Mac, " FIG" for Gif, " FCL" for LCF, "kpvw" for wavepack
optional string addregionnameseparator when addregionname==true, this parameter allows you to set a separator between renderfilename_with_path and regionname. Also allows / or \\ to use renderfilename_with_path as only path as folder, into which the files are stored having the regionnames only. Default is an empty string.
optional string rendercfg2 the render-cfg-string for secondary render-format

Returnvalues:
integer retval -1, in case of error; 0, in case of success
integer renderfilecount the number of rendered files
array MediaItemStateChunkArray the MediaItemStateChunks of all rendered files, with the one in entry 1 being the rendered master-track(when rendering stems)
array Filearray the filenames of the rendered files, including their paths. The filename in entry 1 is the one of the mastered track(when rendering stems)



^ Reaper version 6.20 SWS version 2.10.0.1 JS version 0.972 Ultraschall version 4.2RenderProject_RenderTable

Functioncall:
Lua: integer count, array MediaItemStateChunkArray, array Filearray = ultraschall.RenderProject_RenderTable(optional string projectfilename_with_path, optional RenderTable RenderTable, optional boolean AddToProj, optional boolean CloseAfterRender, optional boolean SilentlyIncrementFilename)

Description:

Renders a projectfile or the current active project, using the settings from a RenderTable.

Expected RenderTable is of the following structure: RenderTable["AddToProj"] - Add rendered items to new tracks in project-checkbox; true, checked; false, unchecked RenderTable["Bounds"] - 0, Custom time range; 1, Entire project; 2, Time selection; 3, Project regions; 4, Selected Media Items(in combination with Source 32); 5, Selected regions RenderTable["Channels"] - the number of channels in the rendered file; 1, mono; 2, stereo; higher, the number of channels RenderTable["CloseAfterRender"] - true, close rendering to file-dialog after render; false, don't close it RenderTable["Dither"] - &1, dither master mix; &2, noise shaping master mix; &4, dither stems; &8, dither noise shaping stems RenderTable["EmbedMetaData"] - Embed metadata; true, checked; false, unchecked
RenderTable["EmbedStretchMarkers"] - Embed stretch markers/transient guides; true, checked; false, unchecked RenderTable["Enable2ndPassRender"] - true, 2nd pass render is enabled; false, 2nd pass render is disabled RenderTable["Endposition"] - the endposition of the rendering selection in seconds RenderTable["MultiChannelFiles"] - Multichannel tracks to multichannel files-checkbox; true, checked; false, unchecked RenderTable["OfflineOnlineRendering"] - Offline/Online rendering-dropdownlist; 0, Full-speed Offline; 1, 1x Offline; 2, Online Render; 3, Online Render(Idle); 4, Offline Render(Idle) RenderTable["OnlyMonoMedia"] - Tracks with only mono media to mono files-checkbox; true, checked; false, unchecked RenderTable["ProjectSampleRateFXProcessing"] - Use project sample rate for mixing and FX/synth processing-checkbox; true, checked; false, unchecked RenderTable["RenderFile"] - the contents of the Directory-inputbox of the Render to File-dialog RenderTable["RenderPattern"] - the render pattern as input into the File name-inputbox of the Render to File-dialog RenderTable["RenderQueueDelay"] - Delay queued render to allow samples to load-checkbox; true, checked; false, unchecked RenderTable["RenderQueueDelaySeconds"] - the amount of seconds for the render-queue-delay RenderTable["RenderResample"] - Resample mode-dropdownlist; 0, Medium (64pt Sinc); 1, Low (Linear Interpolation); 2, Lowest (Point Sampling); 3, Good (192pt Sinc); 4, Better (348 pt Sinc); 5, Fast (IIR + Linear Interpolation); 6, Fast (IIRx2 + Linear Interpolation); 7, Fast (16pt Sinc); 8, HQ (512 pt); 9, Extreme HQ(768pt HQ Sinc) RenderTable["RenderString"] - the render-cfg-string, that holds all settings of the currently set render-output-format as BASE64 string RenderTable["RenderString2"] - the render-cfg-string, that holds all settings of the currently set secondary-render-output-format as BASE64 string RenderTable["RenderTable"]=true - signals, this is a valid render-table RenderTable["SampleRate"] - the samplerate of the rendered file(s) RenderTable["SaveCopyOfProject"] - the "Save copy of project to outfile.wav.RPP"-checkbox; true, checked; false, unchecked RenderTable["SilentlyIncrementFilename"] - Silently increment filenames to avoid overwriting-checkbox; true, checked; false, unchecked RenderTable["Source"] - 0, Master mix; 1, Master mix + stems; 3, Stems (selected tracks); 8, Region render matrix; 16, Tracks with only Mono-Media to Mono Files; 32, Selected media items; 64, selected media items via master; 128, selected tracks via master RenderTable["Startposition"] - the startposition of the rendering selection in seconds RenderTable["TailFlag"] - in which bounds is the Tail-checkbox checked? &1, custom time bounds; &2, entire project; &4, time selection; &8, all project regions; &16, selected media items; &32, selected project regions RenderTable["TailMS"] - the amount of milliseconds of the tail

Returns -1 in case of an error


Parameters:
optional string projectfilename_with_path the projectfilename with path of the rpp-file that you want to render; nil, to render the current active project
optional RenderTable RenderTable the RenderTable with all render-settings, that you want to apply; nil, use the project's existing settings
optional boolean AddToProj true, add the rendered files to the project; nil or false, don't add them; will overwrite the settings in the RenderTable; will default to true, if no RenderTable is passed only has an effect, when rendering the current active project
optional boolean CloseAfterRender true or nil, closes rendering to file-dialog after rendering is finished; false, keep it open will overwrite the settings in the RenderTable; will default to true, if no RenderTable is passed
optional boolean SilentlyIncrementFilename true or nil, silently increment filename, when file already exists; false, ask for overwriting will overwrite the settings in the RenderTable; will default to true, if no RenderTable is passed

Returnvalues:
integer count the number of files that have been rendered
array MediaItemStateChunkArray the MediaItemStateChunks of all the rendered files
array Filearray filenames with path of all rendered files



^ Reaper version 6.02 SWS version 2.10.0.1 JS version 0.998 Ultraschall version 4.00Render_Loop

Functioncall:
Lua: integer count, array MediaItemStateChunkArray, array Filearray = ultraschall.Render_Loop(table RenderTable, string RenderFilename, boolean AutoIncrement, number FirstStart, number FirstEnd, number SecondStart, number SecondEnd, number FadeIn, number FadeOut, integer FadeInShape, integer FadeOutShape)

Description:

Renders a part of a project using 2 passes. Good for rendering loops, including wetloops.

The first pass will be set by FirstStart and FirstStart. This is the one for possible fx-buildups(reverbs, etc).
The second pass will be set by SecondStart and SecondEnd. This is the one, which "crops" the first-pass to its correct length.

You can also influence the second pass by setting fadein and fadeout, including the fadein/fadeout-shape.
That way, you can control, how the beginning and the end of the loop-item sounds.

SecondStart and SecondEnd are in relation of the original source project. SecondStart is from the beginning of the source-project, NOT FirstStart!

returns -1 in case of an error

Parameters:
table RenderTable the RenderTable, which holds the render-settings for the second pass
string RenderFilename the filename with path of the final rendered file
boolean AutoIncrement true, autoincrement the filename(if it already exists); false, ask before rendering(if file already exists)
number FirstStart the beginning of the first-pass-render in seconds
number FirstEnd the end of the first-pass-render in seconds
number SecondStart the beginning of the second-pass-render in seconds
number SecondEnd the end of the second-pass-render in seconds
number FadeIn the length of the fade-in in the second-pass-render and therefore the final rendered file in seconds
number FadeOut the length of the fade-out in the second-pass-render and therefore the final rendered file in seconds
integer FadeInShape the shape of the fade-in-curve; fadein shape, 0..6, 0=linear
integer FadeOutShape the shape of the fade-out-curve; fadeout shape, 0..6, 0=linear

Returnvalues:
integer count the number of rendered files
array MediaItemStateChunkArray all MediaItemStateChunks within an array
array Filearray all rendered filenames including path




^ Reaper version 6.02 Ultraschall version 4.1ApplyAllThemeLayoutParameters

Functioncall:
Lua: boolean retval = ultraschall.ApplyAllThemeLayoutParameters(table ThemeLayoutParameters, boolean persist, boolean refresh)

Description:

allows applying all theme-layout-parameter-values from a ThemeLayoutParameters-table, as gettable by GetAllThemeLayoutParameters

the table ThemeLayoutParameters is of the following format:

ThemeLayoutParameters[parameter_index]["name"] - the name of the parameter ThemeLayoutParameters[parameter_index]["description"] - the description of the parameter ThemeLayoutParameters[parameter_index]["value"] - the value of the parameter ThemeLayoutParameters[parameter_index]["value default"] - the defult value of the parameter ThemeLayoutParameters[parameter_index]["value min"] - the minimum value of the parameter ThemeLayoutParameters[parameter_index]["value max"] - the maximum value of the parameter

returns false in case of an error


Parameters:
table ThemeLayoutParameters a table, which holds all theme-layout-parameter-values to apply; set values to nil to use default-value
boolean persist true, the new values shall be persisting; false, values will not be persisting and lost after theme-change/Reaper restart
boolean refresh true, refresh the theme to show the applied changes; false, don't refresh

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.02 Ultraschall version 4.00GetAllThemeLayoutNames

Functioncall:
Lua: integer index, table ThemeLayoutNames= ultraschall.GetAllThemeLayoutNames()

Description:

returns all layout-names and values of the current theme

the table ThemeLayoutNames is of the following format:

ThemeLayoutNames[parameter_index]["layout section"] - the name of the layout-section of the parameter ThemeLayoutNames[parameter_index]["value"] - the value of the parameter ThemeLayoutNames[parameter_index]["description"] - the description of the parameter

returns nil in case of an error


Returnvalues:
integer index the number of theme-layout-parameters available
table ThemeLayoutParameters a table with all theme-layout-parameter available in the current theme



^ Reaper version 6.02 Ultraschall version 4.00GetAllThemeLayoutParameters

Functioncall:
Lua: integer index, table ThemeLayoutParameters = ultraschall.GetAllThemeLayoutParameters()

Description:

returns all theme-layout-parameter attributes of the current theme

the table ThemeLayoutParameters is of the following format:

ThemeLayoutParameters[parameter_index]["name"] - the name of the parameter ThemeLayoutParameters[parameter_index]["description"] - the description of the parameter ThemeLayoutParameters[parameter_index]["value"] - the value of the parameter ThemeLayoutParameters[parameter_index]["value default"] - the defult value of the parameter ThemeLayoutParameters[parameter_index]["value min"] - the minimum value of the parameter ThemeLayoutParameters[parameter_index]["value max"] - the maximum value of the parameter

returns nil in case of an error


Returnvalues:
integer index the number of theme-layout-parameters available
table ThemeLayoutParameters a table with all theme-layout-parameter available in the current theme



^ Reaper version 6.02 Ultraschall version 4.1GetThemeParameterIndexByDescription

Functioncall:
Lua: integer parameterindex, string retval, optional string desc, optional number value, optional number defValue, optional number minValue, optional number maxValue = ultraschall.GetThemeParameterIndexByDescription(string description)

Description:

allows getting a theme-parameter's values by its description

returns nil in case of an error

Parameters:
string description the description of the theme-parameter, whose attributes you want to get

Returnvalues:
integer parameterindex the index of the theme-parameter
string retval the name of the theme-parameter
optional string desc the description of the theme-parameter
optional number value the current value of the theme-parameter
optional number defValue the default value of the theme-parameter
optional number minValue the minimum-value of the theme-parameter
optional number maxValue the maximum-value of the theme-parameter



^ Reaper version 6.02 Ultraschall version 4.1GetThemeParameterIndexByName

Functioncall:
Lua: integer parameterindex, string retval, optional string desc, optional number value, optional number defValue, optional number minValue, optional number maxValue = ultraschall.GetThemeParameterIndexByName(string parametername)

Description:

allows getting a theme-parameter's values by its name

returns nil in case of an error

Parameters:
string parametername the name of the theme-parameter, whose attributes you want to get(default v6-Theme has usually paramX, where X is a number between 0 and 80, other themes may differ from that)

Returnvalues:
integer parameterindex the index of the theme-parameter
string retval the name of the theme-parameter
optional string desc the description of the theme-parameter
optional number value the current value of the theme-parameter
optional number defValue the default value of the theme-parameter
optional number minValue the minimum-value of the theme-parameter
optional number maxValue the maximum-value of the theme-parameter



^ Reaper version 6.02 Ultraschall version 4.1SetThemeParameterIndexByDescription

Functioncall:
Lua: boolean retval = ultraschall.SetThemeParameterIndexByDescription(string description, integer value, boolean persist, optional boolean strict)

Description:

allows setting the theme-parameter value by its description

returns nil in case of an error

Parameters:
string description the description of the theme-parameter, whose attributes you want to set
integer value the new value to set
boolean persist true, the new value shall persist; false, the new value shall only be used until Reaper is closed
optional boolean strict true or nil, only allow values within the minimum and maximum values of the parameter; false, allows setting values out of the range

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.02 Ultraschall version 4.1SetThemeParameterIndexByName

Functioncall:
Lua: boolean retval = ultraschall.SetThemeParameterIndexByName(string parametername, integer value, boolean persist, optional boolean strict)

Description:

allows setting the theme-parameter value by its name

returns nil in case of an error

Parameters:
string parametername the name of the theme-parameter, whose attributes you want to set(default v6-Theme has usually paramX, where X is a number between 0 and 80, other themes may differ from that)
integer value the new value to set
boolean persist true, the new value shall persist; false, the new value shall only be used until Reaper is closed
optional boolean strict true or nil, only allow values within the minimum and maximum values of the parameter; false, allows setting values out of the range

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful




^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_GetEnvFaderSize

Functioncall:
Lua: integer size = ultraschall.Theme_Defaultv6_GetEnvFaderSize()

Description:

Gets the size of the faders in envelopes when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error


Returnvalues:
integer size the size of the fader in envelopes 0, Knob 1, 40 2, 70 3, 100 4, 130 5, 160 6, 190



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_GetEnvFolderIndent

Functioncall:
Lua: integer size = ultraschall.Theme_Defaultv6_GetEnvFolderIndent()

Description:

Gets the indentation of the envelope in relation to the track-folder when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error


Returnvalues:
integer indentation the indentation of the enveloper in relation to the track-folder 1, Don't match track folder indent 2, Match track folder indent



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_GetEnvNameSize

Functioncall:
Lua: integer size = ultraschall.Theme_Defaultv6_GetEnvNameSize()

Description:

Gets the size of the name in envelopes when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error


Returnvalues:
integer size the size of the name in envelopes 0, Auto 1, 20 2, 50 3, 80 4, 110 5, 140 6, 170



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_GetEnvSize

Functioncall:
Lua: integer size = ultraschall.Theme_Defaultv6_GetEnvSize()

Description:

Gets the size of the envelope-controls when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error


Returnvalues:
integer size the envelope-size 1, normal 2, 150% 3, 200%



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_GetHideTCPElement

Functioncall:
Lua: boolean retval, boolean if_mixer_visible, boolean if_track_not_selected, boolean if_track_not_armed, boolean always_hide = ultraschall.Theme_Defaultv6_GetHideTCPElement(string Layout, integer Element)

Description:

Get the current hides/unhide-state of elements from TCP when using the default Reaper 6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error


Parameters:
string Layout the layout, whose element-hide/unhide-state you want to get; either "A", "B" or "C"
integer Element the element, whose hide-state you want to get 1, record arm 2, monitor 3, trackname 4, volume 5, routing 6, insert fx 7, envelope 8, pan and width 9, record mode 10, input 11, labels and values 12, meter values

Returnvalues:
boolean retval true, getting was successful; false, getting was unsuccessful
boolean if_mixer_visible true, element is hidden, when mixer is visible; false, element is not hidden, when mixer is visible
boolean if_track_not_selected true, element is hidden, when track is not selected; false, element is not hidden when track is not selected
boolean if_track_not_armed true, element is hidden, when track is not armed; false, element is not hidden when track is not armed
boolean always_hide true, element is always hidden; false, element isn't always hidden



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_GetMCPAlignControls

Functioncall:
Lua: integer alignement = ultraschall.Theme_Defaultv6_GetMCPAlignControls()

Description:

Gets the alignment of controls in the mcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns nil in case of an error


Returnvalues:
integer alignement the alignment-setting of mcp-controls 1, Folder Indent 2, Aligned



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_GetMCPBorderStyle

Functioncall:
Lua: integer size = ultraschall.Theme_Defaultv6_GetMCPBorderStyle(string Layout)

Description:

Gets the style of the border of the mcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns nil in case of an error


Parameters:
string Layout the layout, whose mcp-borderstyle you want to get; either "A", "B" or "C"

Returnvalues:
integer style the current syle of the border of the mcp 0, None 1, Left edge 2, Right edge 3, Root folders 4, Around folders



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_GetMCPFolderIndent

Functioncall:
Lua: integer alignement = ultraschall.Theme_Defaultv6_GetMCPFolderIndent()

Description:

Gets the folder-indentaion in the mcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns nil in case of an error


Returnvalues:
integer indentation the indentation of folders in mcp 0, None 1, 1/8 2, 1/4 3, 1/2 4, 1 5, 2 6, Max



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_GetMCPMeterExpansion

Functioncall:
Lua: integer size = ultraschall.Theme_Defaultv6_GetMCPMeterExpansion(string Layout)

Description:

Gets the meter-expansion of the mcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns nil in case of an error


Parameters:
string Layout the layout, whose mcp-meter-expansion you want to get; either "A", "B" or "C"

Returnvalues:
integer size the new size of the meter-expansion of the mcp 0, None 1, +2 pixels 2, +4 pixels 3, +8 pixels



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_GetMCPSizeAndLayout

Functioncall:
Lua: boolean retval = ultraschall.Theme_Defaultv6_GetMCPSizeAndLayout(integer tracknumber, string Layout, integer size)

Description:

Gets the size and layout of the mcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error


Parameters:
integer tracknumber the number of the track, whose MCP-layout and size you want to get(no master track supported)

Returnvalues:
string Layout the current layout of the mcp; either "A", "B", "C" or ""(if no layout is set yet)
integer size the current size of the mcp 1, normal 2, 150% 3, 200%



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_GetStyleMCPElement

Functioncall:
Lua: boolean retval, boolean is_track_is_selected, boolean if_track_not_selected, boolean is_track_is_armed, boolean if_track_not_armed = ultraschall.Theme_Defaultv6_GetStyleMCPElement(string Layout, integer Element)

Description:

Gets style of elements from MCP when using the default Reaper 6-theme when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error


Parameters:
string Layout the layout, whose element you want to style-get; either "A", "B" or "C"
integer Element the element, whose style-state you want to set 1, extend with sidebar 2, Narrow form 3, Do meter expansion 4, Element labels

Returnvalues:
boolean retval true, getting was successful; false, getting was unsuccessful
boolean if_track_selected true, if track is selected; false, if not
boolean if_track_not_selected true, if track is not selected; false, if not
boolean if_track_armed true, if track is armed; false, if not
boolean if_track_not_armed true, if track is unarmed; false, if not



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_GetTCPAlignControls

Functioncall:
Lua: integer alignement = ultraschall.Theme_Defaultv6_GetTCPAlignControls()

Description:

Gets the alignment of controls in the tcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns nil in case of an error


Returnvalues:
integer alignement the alignment-setting of tcp-controls 1, Folder Indent 2, Aligned 3, Extend Name



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_GetTCPFolderIndent

Functioncall:
Lua: integer indent = ultraschall.Theme_Defaultv6_GetTCPFolderIndent()

Description:

Gets the indentation of folders in the tcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns nil in case of an error


Returnvalues:
integer indent the indentation-setting of tcp-folders 0, None 1, 1/8 2, 1/4 3, 1/2 4, 1 5, 2 6, MAX



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_GetTCPInputSize

Functioncall:
Lua: integer size = ultraschall.Theme_Defaultv6_GetTCPInputSize(string Layout)

Description:

Gets the size of the input in tcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns nil in case of an error


Parameters:
string Layout the layout, whose input-size you want to get; either "A", "B" or "C"

Returnvalues:
integer size the current size of the tcp-input 0, MIN 1, 25 2, 40 3, 60 4, 90 5, 150 6, 200



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_GetTCPMeterLocation

Functioncall:
Lua: integer location = ultraschall.Theme_Defaultv6_GetTCPMeterLocation(string Layout)

Description:

Gets the location of the meter in tcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns nil in case of an error


Parameters:
string Layout the layout, whose meter-location you want to get; either "A", "B" or "C"

Returnvalues:
integer location the current location of the tcp-meter 1, Left 2, Right 3, Left if armed



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_GetTCPMeterSize

Functioncall:
Lua: integer size = ultraschall.Theme_Defaultv6_GetTCPMeterSize(string Layout)

Description:

Gets the size of the meter in tcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns nil in case of an error


Parameters:
string Layout the layout, whose meter-size you want to get; either "A", "B" or "C"

Returnvalues:
integer size the current size of the tcp-meter 1, 4 2, 10 3, 20 4, 40 5, 80 6, 160 7, 320



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_GetTCPNameSize

Functioncall:
Lua: integer size = ultraschall.Theme_Defaultv6_GetTCPNameSize(string Layout)

Description:

Gets the size of the trackname-label in tcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns nil in case of an error


Parameters:
string Layout the layout, whose trackname-size you want to get; either "A", "B" or "C"

Returnvalues:
integer size the current size of the tcp-trackname-label 0, auto 1, 20 2, 50 3, 80 4, 110 5, 140 6, 170



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_GetTCPSizeAndLayout

Functioncall:
Lua: boolean retval = ultraschall.Theme_Defaultv6_GetTCPSizeAndLayout(integer tracknumber, string Layout, integer size)

Description:

Gets the size and layout of the tcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error


Parameters:
integer tracknumber the number of the track, whose TCP-layout and size you want to get(no master track supported)

Returnvalues:
string Layout the current layout of the tcp; either "A", "B", "C" or ""(if no layout is set yet)
integer size the current size of the tcp 1, normal 2, 150% 3, 200%



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_GetTCPVolumeSize

Functioncall:
Lua: integer size = ultraschall.Theme_Defaultv6_GetTCPVolumeSize(string Layout)

Description:

Gets the size of the volume in tcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns nil in case of an error


Parameters:
string Layout the layout, whose volume-size you want to get; either "A", "B" or "C"

Returnvalues:
integer size the current size of the tcp-volume 0, knob 1, 40 2, 70 3, 100 4, 130 5, 160 6, 190



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_GetTransPlayRateSize

Functioncall:
Lua: integer size = ultraschall.Theme_Defaultv6_GetTransPlayRateSize()

Description:

Gets the size of the playrate-slider in transport-controls when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error


Returnvalues:
integer size the playrate-slidersize of transport-controls 0, Knob 1, 80 2, 130 3, 160 4, 200 5, 250 6, 310



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_GetTransSize

Functioncall:
Lua: integer size = ultraschall.Theme_Defaultv6_GetTransSize()

Description:

Gets the size of the transport-controls when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error


Returnvalues:
integer size the transport-size 1, normal 2, 150% 3, 200%



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_SetEnvFaderSize

Functioncall:
Lua: boolean retval = ultraschall.Theme_Defaultv6_SetEnvFaderSize(integer size, boolean persist)

Description:

Sets the size of the faders in envelopes when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error


Parameters:
integer size the size of the fader in envelopes 0, Knob 1, 40 2, 70 3, 100 4, 130 5, 160 6, 190
boolean persist true, this setting persists after restart of Reaper; false, this setting is only valid until closing Reaper

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_SetEnvFolderIndent

Functioncall:
Lua: boolean retval = ultraschall.Theme_Defaultv6_SetEnvFolderIndent(integer indentation, boolean persist)

Description:

Sets the indentation of the envelope in relation to the track-folder when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error


Parameters:
integer indentation the indentation of the enveloper in relation to the track-folder 1, Don't match track folder indent 2, Match track folder indent
boolean persist true, this setting persists after restart of Reaper; false, this setting is only valid until closing Reaper

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_SetEnvNameSize

Functioncall:
Lua: boolean retval = ultraschall.Theme_Defaultv6_SetEnvNameSize(integer size, boolean persist)

Description:

Sets the size of the name in envelopes when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error


Parameters:
integer size the size of the name in envelopes 0, Auto 1, 20 2, 50 3, 80 4, 110 5, 140 6, 170
boolean persist true, this setting persists after restart of Reaper; false, this setting is only valid until closing Reaper

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_SetEnvSize

Functioncall:
Lua: boolean retval = ultraschall.Theme_Defaultv6_SetEnvSize(integer size)

Description:

Sets the size of the envelope-controls when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error


Parameters:
integer size the envelope-size 1, normal 2, 150% 3, 200%

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_SetHideTCPElement

Functioncall:
Lua: boolean retval = ultraschall.Theme_Defaultv6_SetHideTCPElement(string Layout, integer Element, boolean if_mixer_visible, boolean if_track_not_selected, boolean if_track_not_armed, boolean always_hide, boolean persist)

Description:

Hides/unhides elements from TCP when using the default Reaper 6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error


Parameters:
string Layout the layout, whose element you want to hide/unhide; either "A", "B" or "C"
integer Element the element, whose hide-state you want to set 1, record arm 2, monitor 3, trackname 4, volume 5, routing 6, insert fx 7, envelope 8, pan and width 9, record mode 10, input 11, labels and values 12, meter values
boolean if_mixer_visible true, hide element, when mixer is visible; false, don't hide element, when mixer is visible
boolean if_track_not_selected true, hide element, when track is not selected; false, don't hide element when track is not selected
boolean if_track_not_armed true, hides element, when track is not armed; false, don't hide element when track is not armed
boolean always_hide true, always hides element; false, don't always hide element
boolean persist true, this setting persists after restart of Reaper; false, this setting is only valid until closing Reaper

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_SetMCPAlignControls

Functioncall:
Lua: boolean retval = ultraschall.Theme_Defaultv6_SetMCPAlignControls(integer alignement, boolean persist)

Description:

Sets the alignment of controls in mcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error


Parameters:
integer alignement the alignment-setting of mcp-controls 1, Folder Indent 2, Aligned
boolean persist true, this setting persists after restart of Reaper; false, this setting is only valid until closing Reaper

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_SetMCPBorderStyle

Functioncall:
Lua: boolean retval = ultraschall.Theme_Defaultv6_SetMCPBorderStyle(string Layout, integer style, boolean persist)

Description:

Sets the style of the border of the mcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error


Parameters:
string Layout the layout, whose mcp-borderstyle you want to set; either "A", "B" or "C"
integer style the new style of the border of the mcp 0, None 1, Left edge 2, Right edge 3, Root folders 4, Around folders
boolean persist true, this setting persists after restart of Reaper; false, this setting is only valid until closing Reaper

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_SetMCPFolderIndent

Functioncall:
Lua: boolean retval = ultraschall.Theme_Defaultv6_SetMCPFolderIndent(integer indentation, boolean persist)

Description:

Sets the folder-indentation in mcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error


Parameters:
integer indentation the indentation of folders in mcp 0, None 1, 1/8 2, 1/4 3, 1/2 4, 1 5, 2 6, Max
boolean persist true, this setting persists after restart of Reaper; false, this setting is only valid until closing Reaper

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_SetMCPMeterExpansion

Functioncall:
Lua: boolean retval = ultraschall.Theme_Defaultv6_SetMCPMeterExpansion(string Layout, integer size, boolean persist)

Description:

Sets the size of the meter-expansion of the mcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error


Parameters:
string Layout the layout, whose mcp-meter-expansion you want to set; either "A", "B" or "C"
integer size the new size of the meter-expansion of the mcp 0, None 1, +2 pixels 2, +4 pixels 3, +8 pixels
boolean persist true, this setting persists after restart of Reaper; false, this setting is only valid until closing Reaper

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_SetMCPSizeAndLayout

Functioncall:
Lua: boolean retval = ultraschall.Theme_Defaultv6_SetMCPSizeAndLayout(integer tracknumber, string Layout, integer size)

Description:

Sets the size and layout of the mcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error


Parameters:
integer tracknumber the number of the track, whose MCP-layout and size you want to set(no master track supported)
string Layout the new mcp-layout; either "A", "B" or "C"
integer size the new size of the mcp 1, normal 2, 150% 3, 200%

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_SetStyleMCPElement

Functioncall:
Lua: boolean retval = ultraschall.Theme_Defaultv6_SetStyleMCPElement(string Layout, integer Element, boolean if_track_selected, boolean if_track_not_selected, boolean if_track_armed, boolean if_track_not_armed, boolean persist)

Description:

Sets style of elements from MCP when using the default Reaper 6-theme when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error


Parameters:
string Layout the layout, whose element you want to style-set; either "A", "B" or "C"
integer Element the element, whose style-state you want to set 1, extend with sidebar 2, Narrow form 3, Do meter expansion 4, Element labels
boolean if_track_selected true, if track is selected; false, if not
boolean if_track_not_selected true, if track is not selected; false, if not
boolean if_track_armed true, if track is armed; false, if not
boolean if_track_not_armed true, if track is unarmed; false, if not
boolean persist true, this setting persists after restart of Reaper; false, this setting is only valid until closing Reaper

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_SetTCPAlignControls

Functioncall:
Lua: boolean retval = ultraschall.Theme_Defaultv6_SetTCPAlignControls(integer size, boolean persist)

Description:

Sets the alignment of controls in tcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error


Parameters:
integer alignement the alignment-setting of tcp-controls 1, Folder Indent 2, Aligned 3, Extend Name
boolean persist true, this setting persists after restart of Reaper; false, this setting is only valid until closing Reaper

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_SetTCPFolderIndent

Functioncall:
Lua: boolean retval = ultraschall.Theme_Defaultv6_SetTCPFolderIndent(integer indent, boolean persist)

Description:

Sets the indentation of folders in tcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error


Parameters:
integer indent the indentation-setting of tcp-folders 0, None 1, 1/8 2, 1/4 3, 1/2 4, 1 5, 2 6, MAX
boolean persist true, this setting persists after restart of Reaper; false, this setting is only valid until closing Reaper

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_SetTCPInputSize

Functioncall:
Lua: boolean retval = ultraschall.Theme_Defaultv6_SetTCPInputSize(string Layout, integer size, boolean persist)

Description:

Sets the size of the input in tcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error


Parameters:
string Layout the layout, whose input-size you want to set; either "A", "B" or "C"
integer size the new size of the tcp-input 0, MIN 1, 25 2, 40 3, 60 4, 90 5, 150 6, 200
boolean persist true, this setting persists after restart of Reaper; false, this setting is only valid until closing Reaper

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_SetTCPMeterLocation

Functioncall:
Lua: boolean retval = ultraschall.Theme_Defaultv6_SetTCPMeterLocation(string Layout, integer location, boolean persist)

Description:

Sets the location of the meter in tcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error


Parameters:
string Layout the layout, whose meter-location you want to set; either "A", "B" or "C"
integer location the new location of the tcp-meter 1, LEFT 2, RIGHT 3, LEFT IF ARMED
boolean persist true, this setting persists after restart of Reaper; false, this setting is only valid until closing Reaper

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_SetTCPMeterSize

Functioncall:
Lua: boolean retval = ultraschall.Theme_Defaultv6_SetTCPMeterSize(string Layout, integer size, boolean persist)

Description:

Sets the size of the meter in tcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error


Parameters:
string Layout the layout, whose meter-size you want to set; either "A", "B" or "C"
integer size the new size of the tcp-meter 1, 4 2, 10 3, 20 4, 40 5, 80 6, 160 7, 320
boolean persist true, this setting persists after restart of Reaper; false, this setting is only valid until closing Reaper

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_SetTCPNameSize

Functioncall:
Lua: boolean retval = ultraschall.Theme_Defaultv6_SetTCPNameSize(string Layout, integer size, boolean persist)

Description:

Sets the size of the trackname-label in tcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error


Parameters:
string Layout the layout, whose trackname-label-size you want to set; either "A", "B" or "C"
integer size the new size of the tcp-trackname-label 0, auto 1, 20 2, 50 3, 80 4, 110 5, 140 6, 170
boolean persist true, this setting persists after restart of Reaper; false, this setting is only valid until closing Reaper

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_SetTCPSizeAndLayout

Functioncall:
Lua: boolean retval = ultraschall.Theme_Defaultv6_SetTCPSizeAndLayout(integer tracknumber, string Layout, integer size)

Description:

Sets the size and layout of the tcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error


Parameters:
integer tracknumber the number of the track, whose TCP-layout and size you want to set(no master track supported)
string Layout the new tcp-layout; either "A", "B" or "C"
integer size the new size of the mcp 1, normal 2, 150% 3, 200%

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_SetTCPVolumeSize

Functioncall:
Lua: boolean retval = ultraschall.Theme_Defaultv6_SetTCPVolumeSize(string Layout, integer size, boolean persist)

Description:

Sets the size of the volume in tcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error


Parameters:
string Layout the layout, whose volume-size you want to set; either "A", "B" or "C"
integer size the new size of the tcp-volume 0, knob 1, 40 2, 70 3, 100 4, 130 5, 160 6, 190
boolean persist true, this setting persists after restart of Reaper; false, this setting is only valid until closing Reaper

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_SetTransPlayRateSize

Functioncall:
Lua: boolean retval = ultraschall.Theme_Defaultv6_SetTransPlayRateSize(integer size, boolean persist)

Description:

Sets the size of the playrate-slider in transport-controls when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error


Parameters:
integer size the playrate-slidersize of transport-controls 0, Knob 1, 80 2, 130 3, 160 4, 200 5, 250 6, 310
boolean persist true, this setting persists after restart of Reaper; false, this setting is only valid until closing Reaper

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.02 Ultraschall version 4.1Theme_Defaultv6_SetTransSize

Functioncall:
Lua: boolean retval = ultraschall.Theme_Defaultv6_SetTransSize(integer size)

Description:

Sets the size of the transport-controls when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error


Parameters:
integer size the transport-size 1, normal 2, 150% 3, 200%

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful




^ Reaper version 5.40 Ultraschall version 4.00AddMediaItemStateChunk_To_TrackStateChunk

Functioncall:
Lua: string trackstatechunk = ultraschall.AddMediaItemStateChunk_To_TrackStateChunk(string trackstatechunk, string mediaitemstatechunk)

Description:

Adds the item mediaitemstatechunk into trackstatechunk and returns this altered trackstatechunk.

returns nil in case of error

Parameters:
string trackstatechunk a trackstatechunk, as returned by reaper's api function reaper.GetTrackStateChunk
string mediaitemstatechunk a mediaitemstatechunk, as returned by reaper's api function reaper.GetItemStateChunk

Returnvalues:
string trackstatechunk the new trackstatechunk with mediaitemstatechunk added



^ Reaper version 5.975 Ultraschall version 4.00AnyTrackFXBypass

Functioncall:
Lua: boolean retval = ultraschall.AnyTrackFXBypass(optional boolean master)

Description:

Returns true, if any track has fx-bypass activated.


Parameters:
optional boolean master true, include the master-track; false, don't include the master-track

Returnvalues:
boolean retval true, at least one track has fx bypass activated; false, no track has fx-bypass activated



^ Reaper version 5.975 Ultraschall version 4.00AnyTrackFreeItemPositioningMode

Functioncall:
Lua: boolean retval = ultraschall.AnyTrackFreeItemPositioningMode()

Description:

Returns true, if any track has free item positioning mode(freemode) activated.


Returnvalues:
boolean retval true, at least one track has freemode activated; false, no track has freemode-activated



^ Reaper version 5.975 SWS version 2.9.7 Ultraschall version 4.00AnyTrackHiddenMCP

Functioncall:
Lua: boolean retval = ultraschall.AnyTrackHiddenMCP(optional boolean master)

Description:

Returns true, if any track is hidden in Mixer Control Panel.


Parameters:
optional boolean master true, include the master-track; false, don't include the master-track

Returnvalues:
boolean retval true, at least one track is hidden in MCP; false, no track is hidden



^ Reaper version 5.975 Ultraschall version 4.00AnyTrackHiddenTCP

Functioncall:
Lua: boolean retval = ultraschall.AnyTrackHiddenTCP(optional boolean master)

Description:

Returns true, if any track is hidden in Track Control Panel.


Parameters:
optional boolean master true, include the master-track; false, don't include the master-track

Returnvalues:
boolean retval true, at least one track is hidden in TCP; false, no track is hidden



^ Reaper version 5.979 Ultraschall version 4.00AnyTrackMute

Functioncall:
Lua: boolean retval = ultraschall.AnyTrackMute(optional boolean master)

Description:

returns true, if any track is muted, otherwise returns false.

Parameters:
optional boolean master true, include the master-track as well; false, don't include master-track

Returnvalues:
boolean retval true, if any track is muted; false, if not



^ Reaper version 5.975 Ultraschall version 4.00AnyTrackPhased

Functioncall:
Lua: boolean retval = ultraschall.AnyTrackPhased()

Description:

Returns true, if any track has phase-invert activated.


Returnvalues:
boolean retval true, at least one track has an activated phase-invert; false, no track is phase-inverted



^ Reaper version 5.975 Ultraschall version 4.00AnyTrackRecMonitored

Functioncall:
Lua: boolean retval = ultraschall.AnyTrackRecMonitored()

Description:

Returns true, if any track has monitoring of recinput activated.


Returnvalues:
boolean retval true, at least one track has an activated rec-monitoring; false, no track is rec-monitored



^ Reaper version 5.975 Ultraschall version 4.00AnyTrackRecarmed

Functioncall:
Lua: boolean retval = ultraschall.AnyTrackRecarmed()

Description:

Returns true, if any track is recarmed.


Returnvalues:
boolean retval true, at least one track is recarmed; false, no track is recarmed



^ Reaper version 5.77 Ultraschall version 4.00ApplyActionToTrack

Functioncall:
Lua: boolean retval = ultraschall.ApplyActionToTrack(string trackstring, string/number actioncommandid)

Description:

Applies action to the tracks, given by trackstring
The action given must support applying itself to selected tracks.

Returns false in case of an error

Parameters:
string trackstring a string with all tracknumbers, separated by a comma; 1 for the first track, 2 for the second

Returnvalues:
boolean retval true, running action was successful; false, running the action was unsuccessful



^ Reaper version 5.40 Ultraschall version 4.00CountItemsInTrackStateChunk

Functioncall:
Lua: integer countitems = ultraschall.CountItemsInTrackStateChunk(string trackstatechunk)

Description:

returns the number of items in a trackstatechunk

returns -1 in case of error

Parameters:
string trackstatechunk a trackstatechunk, as returned by reaper's api function reaper.GetTrackStateChunk

Returnvalues:
integer countitems number of items in the trackstatechunk



^ Reaper version 5.40 Ultraschall version 4.00CreateTrackString

Functioncall:
Lua: string trackstring = ultraschall.CreateTrackString(integer firstnumber, integer lastnumber, optional integer step)

Description:

returns a string with the all numbers from firstnumber to lastnumber, separated by a ,
e.g. firstnumber=4, lastnumber=8 -> 4,5,6,7,8

returns nil in case of an error

Parameters:
integer firstnumber the number, with which the string starts
integer lastnumber the number, with which the string ends
integer step how many numbers shall be skipped inbetween. Can lead to a different lastnumber, when step is not 1! nil or invalid value=1

Returnvalues:
string trackstring a string with all tracknumbers, separated by a ,



^ Reaper version 5.95 SWS version 2.9.7 Ultraschall version 4.00CreateTrackStringByGUID

Functioncall:
Lua: string trackstring = ultraschall.CreateTrackStringByGUID(string guid_csv_string)

Description:

returns a trackstring with all tracks, as given by the GUIDs in the comma-separated-csv-string guid_csv_string.

returns "" in case of an error, like no track available or an invalid string

Parameters:
string guid_csv_string a comma-separated csv-string, that includes all GUIDs of all track to be included in the trackstring.

Returnvalues:
string trackstring a string with all the tracknumbers of the tracks given as GUIDs in guid_csv_string



^ Reaper version 5.95 Ultraschall version 4.00CreateTrackStringByMediaTracks

Functioncall:
Lua: string trackstring = ultraschall.CreateTrackStringByMediaTracks(array MediaTrackArray)

Description:

returns a trackstring with all tracks, as given in the array MediaTrackArray

returns "" in case of an error, like no track available or an invalid string

Parameters:
array MediaTrackArray an array, that includes all MediaTrack-objects to be included in the trackstring; a nil-entry is seen as the end of the array

Returnvalues:
string trackstring a string with all the tracknumbers of the MediaTrack-objects given in parameter MediaTrackArray



^ Reaper version 5.95 Ultraschall version 4.00CreateTrackStringByTracknames

Functioncall:
Lua: string trackstring = ultraschall.CreateTrackStringByTracknames(string tracknames_csv_string)

Description:

returns a trackstring with all tracks, as given by the tracknames in the newline(!)-separated-csv-string guid_csv_string.

returns "" in case of an error, like no track available or an invalid string

Parameters:
string tracknames_csv_string a newline(!)-separated csv-string, that includes all tracknames of all track to be included in the trackstring. Tracknames are case sensitive!

Returnvalues:
string trackstring a string with all the tracknumbers of the tracks given as tracknames in tracknames_csv_string



^ Reaper version 5.40 Ultraschall version 4.00CreateTrackString_AllTracks

Functioncall:
Lua: string trackstring = ultraschall.CreateTrackString_AllTracks()

Description:

Returns a trackstring with all tracknumbers from the current project.

Returns an empty string, if no track is available.

Returnvalues:
string trackstring a string with all tracknumbers, separated by commas.



^ Reaper version 5.941 Ultraschall version 4.00CreateTrackString_ArmedTracks

Functioncall:
Lua: string trackstring = ultraschall.CreateTrackString_ArmedTracks()

Description:

Gets a trackstring with tracknumbers of all armed tracks in it.

Returns "" if no track is armed.

Returnvalues:
string trackstring a trackstring with the tracknumbers of all armed tracks as comma separated csv-string, eg: "1,3,4,7"



^ Reaper version 5.40 Ultraschall version 4.00CreateTrackString_SelectedTracks

Functioncall:
Lua: string trackstring = ultraschall.CreateTrackString_SelectedTracks()

Description:

Creates a string with all numbers from selected tracks, separated by a ,

Returns an empty string, if no tracks are selected.

Returnvalues:
string trackstring a string with the tracknumbers, separated by a string



^ Reaper version 5.941 Ultraschall version 4.00CreateTrackString_UnarmedTracks

Functioncall:
Lua: string trackstring = ultraschall.CreateTrackString_UnarmedTracks()

Description:

Gets a trackstring with tracknumbers of all unarmed tracks in it.

Returns "" if all tracks are armed.

Returnvalues:
string trackstring a trackstring with the tracknumbers of all unarmed tracks as comma separated csv-string, eg: "1,3,4,7"



^ Reaper version 5.975 Ultraschall version 4.1DeleteTracks_TrackString

Functioncall:
Lua: boolean retval = ultraschall.DeleteTracks_TrackString(string trackstring)

Description:

deletes all tracks in trackstring

Returns false in case of an error

Parameters:
string trackstring a string with all tracknumbers, separated by commas

Returnvalues:
boolean retval true, setting it was successful; false, setting it was unsuccessful



^ Reaper version 5.40 Ultraschall version 4.00GetAllMediaItemsFromTrackStateChunk

Functioncall:
Lua: integer count, array MediaItemStateChunkArray = ultraschall.GetAllMediaItemsFromTrackStateChunk(string trackstatechunk)

Description:

Returns a MediaItemStateChunkArray with all items in trackstatechunk.

returns -1 in case of error

Parameters:
string trackstatechunk a trackstatechunk, as returned by functions like reaper.GetTrackStateChunk

Returnvalues:
integer count number of MediaItemStateChunks in the returned array. -1 in case of error
array MediaItemStateChunkArray an array with all MediaItemStateChunks from trackstatechunk



^ Reaper version 6.10 Ultraschall version 4.1GetAllVisibleTracks_Arrange

Functioncall:
Lua: string trackstring, integer tracktable_count, table tracktable = ultraschall.GetAllVisibleTracks_Arrange(optional boolean master_track, optional boolean completely_visible)

Description:

returns a trackstring with all tracks currently visible in the arrange-view.

Note: Item who start above and end below the visible arrangeview will be treated as not completely visible!

returns nil in case of error


Parameters:
optional boolean master_track nil or true, check for visibility of the master-track; false, don't include the master-track
optional boolean completely_visible nil or false, all tracks including partially visible ones; true, only fully visible tracks

Returnvalues:
string trackstring a string with holds all tracknumbers from all found tracks, separated by a comma; beginning with 1 for the first track
integer tracktable_count the number of tracks found
table tracktable a table which holds all MediaTrack-objects



^ Reaper version 5.40 Ultraschall version 4.00GetItemStateChunkFromTrackStateChunk

Functioncall:
Lua: boolean retval, string mediaitemstatechunk = ultraschall.GetItemStateChunkFromTrackStateChunk(string trackstatechunk, integer idx)

Description:

Returns a mediaitemstatechunk of the idx'th item in trackstatechunk.

returns false in case of error

Parameters:
string trackstatechunk a trackstatechunk, as returned by reaper's api function reaper.GetTrackStateChunk
integer idx the number of the item you want to have returned as mediaitemstatechunk

Returnvalues:
boolean retval true in case of success, false in case of error
string mediaitemstatechunk number of items in the trackstatechunk



^ Reaper version 5.40 Ultraschall version 4.00GetLengthOfAllMediaItems_Track

Functioncall:
Lua: integer length = ultraschall.GetLengthOfAllMediaItems_Track(integer Tracknumber)

Description:

Returns the length of all MediaItems in track, combined.
Will return -1, in case of error

Parameters:
integer Tracknumber the tracknumber, whose length you want to know; 1, track 1; 2, track 2, etc

Returnvalues:
integer length the length of all MediaItems in the track combined, in seconds



^ Reaper version 5.40 Ultraschall version 4.00GetTrackLength

Functioncall:
Lua: integer length = ultraschall.GetTrackLength(integer Tracknumber)

Description:

Returns the length of a track, that means, the end of the last item in track Tracknumber.
Will return -1, in case of error

Parameters:
integer Tracknumber the tracknumber, whose length you want to know

Returnvalues:
integer length the length of the track in seconds



^ Reaper version 5.965 SWS version 2.9.7 Ultraschall version 4.00GetTracknumberByGuid

Functioncall:
Lua: integer tracknumber, MediaTrack tr = ultraschall.GetTracknumberByGuid(string guid)

Description:

returns the tracknumber and track of a guid. The track must be in the currently active project!

Supports the returned guids by reaper.BR_GetMediaTrackGUID and reaper.GetTrackGUID.

returns -1 in case of an error

Parameters:
string gui the guid of the track, that you want to request

Returnvalues:
integer tracknumber the number of the track; 0, for master track; 1, for track 1; 2, for track 2, etc. -1, in case of an error
MediaTrack tr the MediaTrack-object of the requested track; nil, if no track is found



^ Reaper version 5.77 Ultraschall version 4.00InsertTrackAtIndex

Functioncall:
Lua: string trackarray, integer new_track_count, array trackarray_newtracks = ultraschall.InsertTrackAtIndex(integer index, integer number_of_tracks, boolean wantdefaults)

Description:

Inserts one or more tracks at index.

Returns nil in case of an error

Parameters:
integer index the index, at which to include the new tracks; 0, for including before the first track
integer number_of_tracks the number of tracks that you want to create; 0 for including before track 1; number of tracks+1, include new tracks after last track
boolean wantdefaults true, set the tracks with default settings/fx/etc; false, create new track without any defaults

Returnvalues:
string trackstring a trackstring with all newly created tracknumbers
integer new_track_count the number of newly created tracks
array trackarray_newtracks an array with the MediaTrack-objects of all newly created tracks



^ Reaper version 5.40 Ultraschall version 4.00InsertTrack_TrackStateChunk

Functioncall:
Lua: boolean retval, MediaTrack MediaTrack = ultraschall.InsertTrack_TrackStateChunk(string trackstatechunk)

Description:

Creates a new track at the end of the project and sets it's trackstate, using the parameter trackstatechunk.
Returns true, if it succeeded and the newly created MediaTrack.

Parameters:
string trackstatechunk the rpp-xml-Trackstate-Chunk, as created by reaper.GetTrackStateChunk or GetProject_TrackStateChunk

Returnvalues:
boolean retval true, if creation succeeded, false if not
MediaTrack MediaTrack the newly created track, as MediaItem-trackobject



^ Reaper version 5.40 Ultraschall version 4.00InverseTrackstring

Functioncall:
Lua: string inv_trackstring = ultraschall.InverseTrackstring(string trackstring, integer limit)

Description:

returns a newtrackstring with numbers, that are NOT in trackstring, in the range between 0 and limit

returns -1 in case of error

Parameters:
string trackstring the tracknumbers, separated with a ,
integer limit the maximum tracknumber to include. Use reaper.CountTracks(0) function to use the maximum tracks in current project

Returnvalues:
string inv_trackstring the tracknumbers, that are NOT in the parameter trackstring, from 0 to limit



^ Reaper version 5.40 Ultraschall version 4.00IsTrackObjectTracknumber

Functioncall:
Lua: boolean retval, integer tracknumber = ultraschall.IsTrackObjectTracknumber(MediaTrack track, integer tracknumber)

Description:

returns true, if MediaTrack has the tracknumber "tracknumber"; false if not.

Returns nil in case of error.

Parameters:
MediaTrack track the MediaTrack of which you want to check it's number
integer tracknumber the tracknumber you want to check for

Returnvalues:
boolean retval true if track is tracknumber, false if not
integer tracknumber the number of track, so in case of false, you know it's number



^ Reaper version 6.10 Ultraschall version 4.1IsTrackVisible

Functioncall:
Lua: boolean retval = ultraschall.IsTrackVisible(MediaTrack track, boolean completely_visible)

Description:

returns if a track is currently visible in arrangeview

returns nil in case of error


Parameters:
MediaTrack track the track, whose visibility you want to query
boolean completely_visible false, all tracks including partially visible ones; true, only fully visible tracks

Returnvalues:
boolean retval true, track is visible; false, track is not visible



^ Reaper version 5.40 Ultraschall version 4.00IsValidTrackStateChunk

Functioncall:
Lua: boolean valid = ultraschall.IsValidTrackStateChunk(string TrackStateChunk)

Description:

returns, if a TrackStateChunk is a valid statechunk

returns false in case of an error

Parameters:
string TrackStateChunk a string to check, if it's a valid TrackStateChunk

Returnvalues:
boolean valid true, if the string is a valid statechunk; false, if not a valid statechunk



^ Reaper version 5.40 Ultraschall version 4.00IsValidTrackString

Functioncall:
Lua: boolean valid, integer count, array individual_tracknumbers = ultraschall.IsValidTrackString(string trackstring)

Description:

checks, whether a given trackstring is a valid one. Will also return all valid numbers, from trackstring, that can be used as tracknumbers, as an array.

returns false in case of an error

Parameters:
string trackstring the trackstring to check, if it's a valid one

Returnvalues:
boolean valid true, is a valid trackstring; false, is not a valid trackstring
integer count the number of entries found in trackstring
array individual_tracknumbers an array that contains all available tracknumbers



^ Reaper version 5.92 Ultraschall version 4.00MoveTracks

Functioncall:
Lua: boolean retval = ultraschall.MoveTracks(string trackstring, integer targetindex, integer makepreviousfolder)

Description:

Moves tracks in trackstring to position targetindex. You can also set, if the tracks shall become folders.
Multiple tracks in trackstring will be put together, so track 2, 4, 6 would become 1, 2, 3, when moved above the first track!

Returns false in case of an error

Parameters:
string trackstring a string with all tracknumbers of the tracks you want to move, separated by commas
integer targetindex the index, to which to move the tracks; 0, move tracks before track 1; number of tracks+1, move after the last track
integer makepreviousfolder make tracks a folder or not 0, for normal, 1, as child of track preceding track specified by makepreviousfolder 2, if track preceding track specified by makepreviousfolder is last track in folder, extend folder

Returnvalues:
boolean retval true, moving was successful; false, moving wasn't successful



^ Reaper version 5.40 Ultraschall version 4.00OnlyTracksInBothTrackstrings

Functioncall:
Lua: integer retval, string trackstring, array trackstringarray, integer number_of_entries = ultraschall.OnlyTracksInBothTrackstrings(string trackstring1, string trackstring2)

Description:

returns a new trackstring, that contains only the tracknumbers, that are in trackstring1 and trackstring2.

returns -1 in case of error

Parameters:
string trackstring1 a string with the tracknumbers, separated by commas
string trackstring2 a string with the tracknumbers, separated by commas

Returnvalues:
integer retval -1 in case of error, 1 in case of success
string trackstring the cleared trackstring, -1 in case of error
array trackstringarray the "cleared" trackstring as an array
integer number_of_entries the number of entries in the trackstring



^ Reaper version 5.40 Ultraschall version 4.00OnlyTracksInOneTrackstring

Functioncall:
Lua: integer retval, string trackstring, array trackstringarray, integer number_of_entries = ultraschall.OnlyTracksInOneTrackstring(string trackstring1, string trackstring2)

Description:

returns a new trackstring, that contains only the tracknumbers, that are in either trackstring1 or trackstring2, NOT in both!

returns -1 in case of error

Parameters:
string trackstring1 a string with the tracknumbers, separated by commas
string trackstring2 a string with the tracknumbers, separated by commas

Returnvalues:
integer retval -1 in case of error, 1 in case of success
string trackstring the cleared trackstring, -1 in case of error
array trackstringarray the "cleared" trackstring as an array
integer number_of_entries the number of entries in the trackstring



^ Reaper version 5.40 Ultraschall version 4.00RemoveDuplicateTracksInTrackstring

Functioncall:
Lua: integer retval, string trackstring, array trackstringarray, integer number_of_entries = ultraschall.RemoveDuplicateTracksInTrackstring(string trackstring)

Description:

Sorts tracknumbers in trackstring and throws out duplicates. It also throws out entries, that are no numbers.
Returns the "cleared" trackstring as string and as array, as well as the number of entries.

Returns -1 in case of failure.

Parameters:
string trackstring the tracknumbers, separated by a comma

Returnvalues:
integer retval -1 in case of error, 1 in case of success
string trackstring the cleared trackstring, -1 in case of error
array trackstringarray the "cleared" trackstring as an array
integer number_of_entries the number of entries in the trackstring



^ Reaper version 5.40 Ultraschall version 4.00RemoveMediaItemByGUID_TrackStateChunk

Functioncall:
Lua: boolean retval, string trackstatechunk = ultraschall.RemoveMediaItemByGUID_TrackStateChunk(string trackstatechunk, string GUID)

Description:

Deletes the item with the guid GUID from trackstatechunk and returns this altered trackstatechunk.

returns false in case of error

Parameters:
string trackstatechunk a trackstatechunk, as returned by reaper's api function reaper.GetTrackStateChunk
string GUID the GUID of the item you want to delete

Returnvalues:
boolean retval true in case of success, false in case of error
string trackstatechunk the new trackstatechunk with the GUID-item deleted



^ Reaper version 5.40 Ultraschall version 4.00RemoveMediaItemByIGUID_TrackStateChunk

Functioncall:
Lua: boolean retval, string trackstatechunk = ultraschall.RemoveMediaItemByIGUID_TrackStateChunk(string trackstatechunk, string IGUID)

Description:

Deletes the item with the iguid IGUID from trackstatechunk and returns this altered trackstatechunk.

returns false in case of error

Parameters:
string trackstatechunk a trackstatechunk, as returned by reaper's api function reaper.GetTrackStateChunk
string IGUID the IGUID of the item you want to delete

Returnvalues:
boolean retval true in case of success, false in case of error
string trackstatechunk the new trackstatechunk with the IGUID-item deleted



^ Reaper version 5.40 Ultraschall version 4.00RemoveMediaItem_TrackStateChunk

Functioncall:
Lua: boolean retval, string trackstatechunk = ultraschall.RemoveMediaItem_TrackStateChunk(string trackstatechunk, integer idx)

Description:

Deletes the idx'th item from trackstatechunk and returns this altered trackstatechunk.

returns false in case of error

Parameters:
string trackstatechunk a trackstatechunk, as returned by reaper's api function reaper.GetTrackStateChunk
integer idx the number of the item you want to delete

Returnvalues:
boolean retval true in case of success, false in case of error
string trackstatechunk the new trackstatechunk with the idx'th item deleted




^ Reaper version 5.40 Ultraschall version 4.00GetAllLockedTracks

Functioncall:
Lua: string locked_trackstring, string unlocked_trackstring = ultraschall.GetAllLockedTracks()

Description:

returns a trackstring with all tracknumbers of tracks, that are locked, as well as one with all tracknumbers of tracks, that are unlocked.

returns an empty locked_trackstring, if none is locked, returns an empty unlocked_trackstring if all are locked.

Returnvalues:
string locked_trackstring the tracknumbers of all tracks, that are locked; empty string if none is locked
string unlocked_trackstring the tracknumbers of all tracks, that are NOT locked; empty string if all are locked



^ Reaper version 5.40 Ultraschall version 4.00GetAllSelectedTracks

Functioncall:
Lua: string selected_trackstring, string unselected_trackstring = ultraschall.GetAllSelectedTracks()

Description:

returns a trackstring with all tracknumbers of tracks, that are selected, as well as one with all tracknumbers of tracks, that are unselected.
returns an empty selected_trackstring, if none is selected, returns an empty unselected_trackstring if all are selected.

Returnvalues:
string selected_trackstring the tracknumbers of all tracks, that are selected; empty string if none is selected
string unselected_trackstring the tracknumbers of all tracks, that are NOT selected; empty string if all are selected



^ Reaper version 5.40 Ultraschall version 4.00GetTrackAutoRecArmState

Functioncall:
Lua: integer AutoRecArmState = ultraschall.GetTrackAutoRecArmState(integer tracknumber, optional string TrackStateChunk)

Description:

returns if the track is in AutoRecArm, when selected. Returns nil if not.

It's the entry AUTO_RECARM

returns nil in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead.
optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track

Returnvalues:
integer AutoRecArmState state of autorecarm; 1 for set; nil, if unset



^ Reaper version 5.40 Ultraschall version 4.00GetTrackAutomodeState

Functioncall:
Lua: integer automodestate = ultraschall.GetTrackAutomodeState(integer tracknumber, optional string TrackStateChunk)

Description:

returns, if the automation-mode for envelopes of this track

It's the entry AUTOMODE

returns nil in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead.
optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track

Returnvalues:
integer automodestate is set to 0 - trim/read, 1 - read, 2 - touch, 3 - write, 4 - latch.



^ Reaper version 5.40 Ultraschall version 4.00GetTrackBeatState

Functioncall:
Lua: number BeatState = ultraschall.GetTrackBeatState(integer tracknumber,optional string TrackStateChunk)

Description:

returns Track-BeatState.

It's the entry BEAT

returns nil in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead.
optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track

Returnvalues:
number BeatState -1 - Project time base; 0 - Time; 1 - Beats position, length, rate; 2 - Beats position only



^ Reaper version 6.02 Ultraschall version 4.00GetTrackBusCompState

Functioncall:
Lua: number BusCompState1, number BusCompState2, number BusCompState3, number BusCompState4, number BusCompState5 = ultraschall.GetTrackBusCompState(integer tracknumber, optional string TrackStateChunk)

Description:

returns BusCompState, if the tracks in a folder are compacted or not.

It's the entry BUSCOMP

returns nil in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead.
optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track

Returnvalues:
number BusCompState1 0 - no compacting, 1 - compacted tracks, 2 - minimized tracks
number BusCompState2 0 - unknown,1 - unknown
number BusCompState3 0 - unknown,1 - unknown
number BusCompState4 0 - unknown,1 - unknown
number BusCompState5 0 - unknown,1 - unknown



^ Reaper version 5.40 Ultraschall version 4.00GetTrackBypFXState

Functioncall:
Lua: integer FXState = ultraschall.GetTrackBypFXState(integer tracknumber, optional string TrackStateChunk)

Description:

returns the off/bypass(0) or nobypass(1) state of the FX-Chain

It's the entry FX

returns nil in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead.
optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track

Returnvalues:
integer FXState off/bypass(0) or nobypass(1)



^ Reaper version 5.40 Ultraschall version 4.00GetTrackFreeModeState

Functioncall:
Lua: integer FreeModeState = ultraschall.GetTrackFreeModeState(integer tracknumber, optional string TrackStateChunk)

Description:

returns if the track has track free item positioning enabled(1) or not(0).

It's the entry FREEMODE

returns nil in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead.
optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track

Returnvalues:
integer FreeModeState 1 - enabled, 0 - not enabled



^ Reaper version 5.40 Ultraschall version 4.2GetTrackGroupFlagsState

Functioncall:
Lua: integer GroupState_as_Flags, array IndividualGroupState_Flags = ultraschall.GetTrackGroupFlagsState(integer tracknumber, optional string TrackStateChunk)

Description:

returns the state of the group-flags, as set in the menu Track Grouping Parameters. Returns a 23bit flagvalue as well as an array with 32 individual 23bit-flagvalues. You must use bitoperations to get the individual values.

You can reach the Group-Flag-Settings in the context-menu of a track.

The groups_bitfield_table contains up to 23 entries. Every entry represents one of the checkboxes in the Track grouping parameters-dialog

Each entry is a bitfield, that represents the groups, in which this flag is set to checked or unchecked.

So if you want to get Volume Master(table entry 1) to check if it's set in Group 1(2^0=1) and 3(2^2=4):
  group1=groups_bitfield_table[1]&1
  group2=groups_bitfield_table[1]&4

The following flags(and their accompanying array-entry-index) are available:
                       1 - Volume Master
                       2 - Volume Follow
                       3 - Pan Master
                       4 - Pan Follow
                       5 - Mute Master
                       6 - Mute Follow
                       7 - Solo Master
                       8 - Solo Follow
                       9 - Record Arm Master
                       10 - Record Arm Follow
                       11 - Polarity/Phase Master
                       12 - Polarity/Phase Follow
                       13 - Automation Mode Master
                       14 - Automation Mode Follow
                       15 - Reverse Volume
                       16 - Reverse Pan
                       17 - Do not master when slaving
                       18 - Reverse Width
                       19 - Width Master
                       20 - Width Follow
                       21 - VCA Master
                       22 - VCA Follow
                       23 - VCA pre-FX Follow

The GroupState_as_Flags-bitfield is a hint, if a certain flag is set in any of the groups. So, if you want to know, if VCA Master is set in any group, check if flag &1048576 (2^20) is set to 1048576.

This function will work only for Groups 1 to 32. To get Groups 33 to 64, use GetTrackGroupFlags_HighState instead!

It's the entry GROUP_FLAGS

returns -1 in case of failure

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead.
optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track

Returnvalues:
integer GroupState_as_Flags returns a flagvalue with 23 bits, that tells you, which grouping-flag is set in at least one of the 32 groups available. returns -1 in case of failure the following flags are available: 2^0 - Volume Master 2^1 - Volume Follow 2^2 - Pan Master 2^3 - Pan Follow 2^4 - Mute Master 2^5 - Mute Follow 2^6 - Solo Master 2^7 - Solo Follow 2^8 - Record Arm Master 2^9 - Record Arm Follow 2^10 - Polarity/Phase Master 2^11 - Polarity/Phase Follow 2^12 - Automation Mode Master 2^13 - Automation Mode Follow 2^14 - Reverse Volume 2^15 - Reverse Pan 2^16 - Do not master when slaving 2^17 - Reverse Width 2^18 - Width Master 2^19 - Width Follow 2^20 - VCA Master 2^21 - VCA Follow 2^22 - VCA pre-FX Follow
array IndividualGroupState_Flags returns an array with 23 entries. Every entry represents one of the GroupState_as_Flags, but it's value is a flag, that describes, in which of the 32 Groups a certain flag is set. e.g. If Volume Master is set only in Group 1, entry 1 in the array will be set to 1. If Volume Master is set on Group 2 and Group 4, the first entry in the array will be set to 10. refer to the upper GroupState_as_Flags list to see, which entry in the array is for which set flag, e.g. array[22] is VCA pre-F Follow, array[16] is Do not master when slaving, etc As said before, the values in each entry is a flag, that tells you, which of the groups is set with a certain flag. The following flags determine, in which group a certain flag is set: 2^0 - Group 1 2^1 - Group 2 2^2 - Group 3 2^3 - Group 4 ... 2^30 - Group 31 2^31 - Group 32



^ Reaper version 5.941 Ultraschall version 4.2GetTrackGroupFlags_HighState

Functioncall:
Lua: integer GroupState_as_Flags, array IndividualGroupState_Flags = ultraschall.GetTrackGroupFlags_HighState(integer tracknumber, optional string TrackStateChunk)

Description:

returns the state of the group-flags, as set in the menu Track Grouping Parameters. Returns a 23bit flagvalue as well as an array with 32 individual 23bit-flagvalues. You must use bitoperations to get the individual values.

You can reach the Group-Flag-Settings in the context-menu of a track.

The groups_bitfield_table contains up to 23 entries. Every entry represents one of the checkboxes in the Track grouping parameters-dialog

Each entry is a bitfield, that represents the groups, in which this flag is set to checked or unchecked.

So if you want to get Volume Master(table entry 1) to check if it's set in Group 33(2^0=1) and 35(2^2=4):
  group1=groups_bitfield_table[1]&1
  group2=groups_bitfield_table[1]&4

The following flags(and their accompanying array-entry-index) are available:
                       1 - Volume Master
                       2 - Volume Follow
                       3 - Pan Master
                       4 - Pan Follow
                       5 - Mute Master
                       6 - Mute Follow
                       7 - Solo Master
                       8 - Solo Follow
                       9 - Record Arm Master
                       10 - Record Arm Follow
                       11 - Polarity/Phase Master
                       12 - Polarity/Phase Follow
                       13 - Automation Mode Master
                       14 - Automation Mode Follow
                       15 - Reverse Volume
                       16 - Reverse Pan
                       17 - Do not master when slaving
                       18 - Reverse Width
                       19 - Width Master
                       20 - Width Follow
                       21 - VCA Master
                       22 - VCA Follow
                       23 - VCA pre-FX Follow

The GroupState_as_Flags-bitfield is a hint, if a certain flag is set in any of the groups. So, if you want to know, if VCA Master is set in any group, check if flag &1048576 (2^20) is set to 1048576.

This function will work only for Groups 33(2^0) to 64(2^31). To get Groups 1 to 32, use GetTrackGroupFlagsState instead!

It's the entry GROUP_FLAGS_HIGH

returns -1 in case of failure

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead.
optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track

Returnvalues:
integer GroupState_as_Flags returns a flagvalue with 23 bits, that tells you, which grouping-flag is set in at least one of the 32 groups available. returns -1 in case of failure the following flags are available: 2^0 - Volume Master 2^1 - Volume Follow 2^2 - Pan Master 2^3 - Pan Follow 2^4 - Mute Master 2^5 - Mute Follow 2^6 - Solo Master 2^7 - Solo Follow 2^8 - Record Arm Master 2^9 - Record Arm Follow 2^10 - Polarity/Phase Master 2^11 - Polarity/Phase Follow 2^12 - Automation Mode Master 2^13 - Automation Mode Follow 2^14 - Reverse Volume 2^15 - Reverse Pan 2^16 - Do not master when slaving 2^17 - Reverse Width 2^18 - Width Master 2^19 - Width Follow 2^20 - VCA Master 2^21 - VCA Follow 2^22 - VCA pre-FX Follow
array IndividualGroupState_Flags returns an array with 23 entries. Every entry represents one of the GroupState_as_Flags, but it's value is a flag, that describes, in which of the 32 Groups a certain flag is set. e.g. If Volume Master is set only in Group 33, entry 1 in the array will be set to 1. If Volume Master is set on Group 34 and Group 36, the first entry in the array will be set to 10. refer to the upper GroupState_as_Flags list to see, which entry in the array is for which set flag, e.g. array[22] is VCA pre-F Follow, array[16] is Do not master when slaving, etc As said before, the values in each entry is a flag, that tells you, which of the groups is set with a certain flag. The following flags determine, in which group a certain flag is set: 2^0 - Group 33 2^1 - Group 34 2^2 - Group 35 2^3 - Group 36 ... 2^30 - Group 63 2^31 - Group 64



^ Reaper version 5.941 Ultraschall version 4.00GetTrackHeightState

Functioncall:
Lua: integer height, integer heightstate2, integer unknown = ultraschall.GetTrackHeightState(integer tracknumber, optional string TrackStateChunk)

Description:

returns height of the track.

It's the entry TRACKHEIGHT

returns nil in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead.
optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track

Returnvalues:
integer height 24 up to 443
integer heightstate2 0 - use height, 1 - compact the track and ignore the height
integer lock_trackheight 0, don't lock the trackheight; 1, lock the trackheight



^ Reaper version 5.40 Ultraschall version 4.00GetTrackID

Functioncall:
Lua: string TrackID = ultraschall.GetTrackID(integer tracknumber, optional string TrackStateChunk)

Description:

returns TrackID of the track.

It's the entry TRACKID

returns nil in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead.
optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track

Returnvalues:
string TrackID the TrackID as GUID



^ Reaper version 5.40 Ultraschall version 4.00GetTrackINQState

Functioncall:
Lua: integer quantMIDI, integer quantPOS, integer quantNoteOffs, number quantToFractBeat, integer quantStrength, integer swingStrength, integer quantRangeMin, integer quantRangeMax = ultraschall.GetTrackINQState(integer tracknumber, optional string TrackStateChunk)

Description:

Gets INQ-state, mostly the quantize-settings for MIDI, as set in the "Track: View track recording settings (MIDI quantize, file format/path) for last touched track"-dialog (action 40604)

It's the entry INQ

returns nil in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead.
optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track

Returnvalues:
integer quantMIDI quantize MIDI; 0 or 1
integer quantPOS quantize to position; -1,prev; 0, nearest; 1, next
integer quantNoteOffs quantize note-offs; 0 or 1
number quantToFractBeat quantize to (fraction of beat)
integer quantStrength quantize strength; -128 to 127
integer swingStrength swing strength; -128 to 127
integer quantRangeMin quantize range minimum; -128 to 127
integer quantRangeMax quantize range maximum; -128 to 127



^ Reaper version 5.40 Ultraschall version 4.00GetTrackIPhaseState

Functioncall:
Lua: number IPhase = ultraschall.GetTrackIPhaseState(integer tracknumber, optional string TrackStateChunk)

Description:

returns state of the IPhase. If the Phase-button is pressed, it will return 1, else it will return 0.

It's the entry IPHASE

returns nil in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead.
optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track

Returnvalues:
number IPhase state of the phase-button; 0, normal phase; 1, inverted phase(180°)



^ Reaper version 5.40 Ultraschall version 4.00GetTrackIcon_Filename

Functioncall:
Lua: string filename_with_path = ultraschall.GetTrackIcon_Filename(integer tracknumber, optional string TrackStateChunk)

Description:

returns the filename with path for the track-icon of the current track. Returns nil, if no trackicon has been set.

It's the entry TRACKIMGFN

returns nil in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead.
optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track

Returnvalues:
string filename_with_path filename with path for the current track-icon.



^ Reaper version 5.40 Ultraschall version 4.00GetTrackIsBusState

Functioncall:
Lua: integer busstate1, integer busstate2 = ultraschall.GetTrackIsBusState(integer tracknumber, optional string trackstatechunk)

Description:

returns busstate of the track, means: if it's a folder track

It's the entry ISBUS

returns nil in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead.
optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track

Returnvalues:
integer busstate1=0, integer busstate2=0 track is no folder or
integer busstate1=1, integer busstate2=1 track is a folder or
integer busstate1=1, integer busstate2=2 track is a folder but view of all subtracks not compactible or
1 - track is last track in folder(no tracks of subfolders follow)



^ Reaper version 5.40 Ultraschall version 4.00GetTrackLayoutNames

Functioncall:
Lua: string TCP_Layoutname, string MCP_Layoutname = ultraschall.GetTrackLayoutNames(integer tracknumber, optional string TrackStateChunk)

Description:

returns the current selected layouts for TrackControlPanel and MixerControlPanel for this track as strings. Returns nil, if default is set.

It's the entry LAYOUTS

returns nil in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead.
optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track

Returnvalues:
string TCP_Layoutname name of the TCP-Layoutname
string MCP_Layoutname name of the MCP-Layoutname



^ Reaper version 5.40 Ultraschall version 4.00GetTrackLockState

Functioncall:
Lua: integer lockedstate = ultraschall.GetTrackLockState(integer tracknumber, optional string TrackStateChunk)

Description:

returns, if the track-controls of this track are locked(1) or not(nil).

It's the entry LOCK
Only the LOCK within TrackStateChunks, but not MediaItemStateChunks

returns nil in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead.
optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track

Returnvalues:
integer lockedstate locked(1) or not(nil)



^ Reaper version 5.40 Ultraschall version 4.00GetTrackMIDIOutState

Functioncall:
Lua: integer MidiOutState = ultraschall.GetTrackMIDIOutState(integer tracknumber, optional string TrackStateChunk)

Description:

returns MIDI_Out-State, as set in the Routing-Settings

It's the entry MIDIOUT

returns nil in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead.
optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track

Returnvalues:
integer MidiOutState MIDI_Out-State, as set in the Routing-Settings -1 no output 416 - microsoft GS wavetable synth - send to original channels 417-432 - microsoft GS wavetable synth - send to channel state minus 416 -31 - no Output, send to original channel 1 -16 - no Output, send to original channel 16



^ Reaper version 5.40 Ultraschall version 4.00GetTrackMainSendState

Functioncall:
Lua: integer MainSendOn, integer ParentChannels = ultraschall.GetTrackMainSendState(integer tracknumber, optional string TrackStateChunk)

Description:

returns, if Main-Send is on(1) or off(0) and the ParentChannels(0-63), as set in the Routing-Settings.

It's the entry MAINSEND

returns nil in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead.
optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track

Returnvalues:
integer MainSendOn Main-Send is on(1) or off(0)
integer ParentChannels ParentChannels(0-63)



^ Reaper version 5.40 Ultraschall version 4.00GetTrackMidiBankProgFn

Functioncall:
Lua: string MidiBankProgFn = ultraschall.GetTrackMidiBankProgFn(integer tracknumber, optional string TrackStateChunk)

Description:

returns MidiBankProg-Filename of the track. Nil if not existing.

It's the entry MIDIBANKPROGFN

returns nil in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead.
optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track

Returnvalues:
string MidiBankProgFn the MidiBankProg-Filename; nil if not existing



^ Reaper version 5.40 Ultraschall version 4.00GetTrackMidiCTL

Functioncall:
Lua: integer LinkedToMidiChannel, integer unknown = ultraschall.GetTrackMidiCTL(integer tracknumber, optional string TrackStateChunk)

Description:

returns linked to Midi channel and an unknown value. Nil if not existing.

It's the entry MIDICTL

returns nil in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead.
optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track

Returnvalues:
integer LinkedToMidiChannel linked to midichannel
integer unknown unknown



^ Reaper version 5.40 Ultraschall version 4.00GetTrackMidiColorMapFn

Functioncall:
Lua: string MidiColorMapFn = ultraschall.GetTrackMidiColorMapFn(integer tracknumber, optional string TrackStateChunk)

Description:

returns MidiColorMap-Filename of the track. Nil if not existing.

It's the entry MIDICOLORMAPFN

returns nil in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead.
optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track

Returnvalues:
string MidiColorMapFn the MidiColorMap-Filename; nil if not existing



^ Reaper version 5.40 Ultraschall version 4.00GetTrackMidiInputChanMap

Functioncall:
Lua: integer MidiInputChanMap_state = ultraschall.GetTrackMidiInputChanMap(integer tracknumber, optional string TrackStateChunk)

Description:

returns the state of the MIDIInputChanMap for the current track, as set in the Input-MIDI->Map Input to Channel menu. 0 for channel 1, 2 for channel 2, etc. Nil, if not existing.

It's the entry MIDI_INPUT_CHANMAP

returns nil in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead.
optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track

Returnvalues:
integer MidiInputChanMap_state 0 for channel 1, 1 for channel 2, ... 15 for channel 16; nil, source channel.



^ Reaper version 5.40 Ultraschall version 4.00GetTrackMidiTextStrFn

Functioncall:
Lua: string MidiTextStrFn = ultraschall.GetTrackMidiTextStrFn(integer tracknumber, optional string TrackStateChunk)

Description:

returns MidiTextStrFn-Filename of the track. Nil if not existing.

It's the entry MIDIEXTSTRFN

returns nil in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead.
optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track

Returnvalues:
string MidiTextStrFn the MidiTextStrFn-Filename; nil if not existing



^ Reaper version 5.40 Ultraschall version 4.00GetTrackMuteSoloState

Functioncall:
Lua: integer Mute, integer Solo, integer SoloDefeat = ultraschall.GetTrackMuteSoloState(integer tracknumber, optional string TrackStateChunk)

Description:

returns states of Mute and Solo-Buttons.

It's the entry MUTESOLO

returns nil in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead.
optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track

Returnvalues:
integer Mute Mute set to 0 - Mute off, 1 - Mute On
integer Solo Solo set to 0 - Solo off, 1 - Solo ignore routing, 2 - Solo on
integer SoloDefeat SoloDefeat set to 0 - off, 1 - on



^ Reaper version 5.40 Ultraschall version 4.00GetTrackNChansState

Functioncall:
Lua: integer channelnumber = ultraschall.GetTrackNChansState(integer tracknumber, optional string TrackStateChunk)

Description:

returns the number of channels for this track, as set in the routing.

It's the entry NCHAN

returns nil in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead.
optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track

Returnvalues:
integer channelnumber number of channels for this track



^ Reaper version 5.40 Ultraschall version 4.00GetTrackName

Functioncall:
Lua: string trackname = ultraschall.GetTrackName(integer tracknumber, optional string TrackStateChunk)

Description:

returns name of the track.

It's the entry NAME

returns nil in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead.
optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track

Returnvalues:
string trackname the name of the track



^ Reaper version 5.40 Ultraschall version 4.00GetTrackPanMode

Functioncall:
Lua: integer PanMode = ultraschall.GetTrackPanMode(integer tracknumber, optional string TrackStateChunk)

Description:

returns Panmode of the track.

It's the entry PANMODE

returns nil in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead.
optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track

Returnvalues:
integer PanMode the Panmode of the track nil - Project Default 0 - Reaper 3.x balance (deprecated) 3 - Stereo Balance/ Mono Pan(Default) 5 - Stereo Balance 6 - Dual Pan



^ Reaper version 5.40 Ultraschall version 4.00GetTrackPeakColorState

Functioncall:
Lua: integer PeakColorState = ultraschall.GetTrackPeakColorState(integer tracknumber, optional string TrackStateChunk)

Description:

returns state of the PeakColor-number, which is the trackcolor. Will be returned as string, to avoid losing trailing or preceding zeros.

It's the entry PEAKCOL

returns nil in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead.
optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track

Returnvalues:
string PeakColorState the color of the track



^ Reaper version 5.40 Ultraschall version 4.00GetTrackPerfState

Functioncall:
Lua: integer TrackPerfState = ultraschall.GetTrackPerfState(integer tracknumber, optional string TrackStateChunk)

Description:

returns TrackPerformance-state

It's the entry PERF

returns nil in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead.
optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track

Returnvalues:
integer TrackPerfState TrackPerformance-state 0 - allow anticipative FX + allow media buffering 1 - allow anticipative FX + prevent media buffering 2 - prevent anticipative FX + allow media buffering 3 - prevent anticipative FX + prevent media buffering settings seem to repeat with higher numbers (e.g. 4(like 0) - allow anticipative FX + allow media buffering)



^ Reaper version 5.40 Ultraschall version 4.00GetTrackRecCFG

Functioncall:
Lua: string reccfg = ultraschall.GetTrackRecCFG(integer tracknumber, optional string TrackStateChunk)

Description:

returns the Rec-configuration-string, with which recordings are made. Returns nil, if no reccfg exists.

It's the entry
returns nil in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead.
optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track

Returnvalues:
string reccfg the string, that encodes the recording configuration of the track.
integer reccfgnr the number of the recording-configuration of the track; 0, use default project rec-setting 1, use track-customized rec-setting, as set in the "Track: View track recording settings (MIDI quantize, file format/path) for last touched track"-dialog (action 40604)



^ Reaper version 5.40 Ultraschall version 4.00GetTrackRecState

Functioncall:
Lua: integer ArmState, integer InputChannel, integer MonitorInput, integer RecInput, integer MonitorWhileRec, integer presPDCdelay, integer RecordingPath = ultraschall.GetTrackRecState(integer tracknumber, optional string TrackStateChunk)

Description:

returns Track Rec State.

It's the entry REC

returns nil in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead.
optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track

Returnvalues:
integer ArmState returns 1(armed) or 0(unarmed)
integer InputChannel returns the InputChannel -1 - No Input 1-16(more?) - Mono Input Channel 1024 - Stereo Channel 1 and 2 1026 - Stereo Channel 3 and 4 1028 - Stereo Channel 5 and 6 ... 5056 - Virtual MIDI Keyboard all Channels 5057 - Virtual MIDI Keyboard Channel 1 ... 5072 - Virtual MIDI Keyboard Channel 16 5088 - All MIDI Inputs - All Channels 5089 - All MIDI Inputs - Channel 1 ... 5104 - All MIDI Inputs - Channel 16
integer MonitorInput 0 monitor off, 1 monitor on, 2 monitor on tape audio style
integer RecInput returns rec-input type 0 input(Audio or Midi) 1 Record Output Stereo 2 Disabled, Input Monitoring Only 3 Record Output Stereo, Latency Compensated 4 Record Output MIDI 5 Record Output Mono 6 Record Output Mono, Latency Compensated 7 MIDI overdub 8 MIDI replace 9 MIDI touch replace 10 Record Output Multichannel 11 Record Output Multichannel, Latency Compensated 12 Record Input Force Mono 13 Record Input Force Stereo 14 Record Input Force Multichannel 15 Record Input Force MIDI 16 MIDI latch replace
integer MonitorWhileRec Monitor Trackmedia when recording, 0 is off, 1 is on
integer presPDCdelay preserve PDC delayed monitoring in media items
integer RecordingPath recording path used 0 - Primary Recording-Path only 1 - Secondary Recording-Path only 2 - Primary Recording Path and Secondary Recording Path(for invisible backup)



^ Reaper version 5.40 Ultraschall version 4.00GetTrackScore

Functioncall:
Lua: integer Score1, integer Score2, number Score3, number Score4 = ultraschall.GetTrackScore(integer tracknumber, optional string TrackStateChunk)

Description:

returns Score of the track.

It's the entry SCORE

returns nil in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead.
optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track

Returnvalues:
integer Score1 unknown
integer Score2 unknown
number Score3 unknown
number Score4 unknown



^ Reaper version 5.965 Ultraschall version 4.00GetTrackSelection_TrackStateChunk

Functioncall:
Lua: integer selection_state = ultraschall.GetTrackSelection_TrackStateChunk(string TrackStateChunk)

Description:

returns selection of the track.    

It's the entry SEL.

Works only with statechunks stored in ProjectStateChunks, due API-limitations!

returns nil in case of an error

Parameters:
string TrackStateChunk a TrackStateChunk whose selection-state you want to retrieve; works only with TrackStateChunks from ProjectStateChunks!

Returnvalues:
integer selection_state 0, track is unselected; 1, track is selected



^ Reaper version 5.40 Ultraschall version 4.00GetTrackShowInMixState

Functioncall:
Lua: integer MCPvisible, number MCP_FX_visible, number MCPTrackSendsVisible, integer TCPvisible, number ShowInMix5, number ShowInMix6, number ShowInMix7, number ShowInMix8 = ultraschall.GetTrackShowInMixState(integer tracknumber, optional string TrackStateChunk)

Description:

returns Show in Mix-state.

It's the entry SHOWINMIX

returns nil in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead.
optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track

Returnvalues:
integer MCPvisible 0 invisible, 1 visible
number MCP_FX_visible 0 visible, 1 FX-Parameters visible, 2 invisible
number MCPTrackSendsVisible 0 & 1.1 and higher TrackSends in MCP visible, every other number makes them invisible
integer TCPvisible 0 track is invisible in TCP, 1 track is visible in TCP
number ShowInMix5 unknown
number ShowInMix6 unknown
number ShowInMix7 unknown
number ShowInMix8 unknown



^ Reaper version 5.92 Ultraschall version 4.00GetTrackStateChunk_Tracknumber

Functioncall:
Lua: boolean retval, string trackstatechunk = ultraschall.GetTrackStateChunk_Tracknumber(integer tracknumber)

Description:

returns the trackstatechunk for track tracknumber

returns false in case of an error

Parameters:
integer tracknumber the tracknumber, 0 for master track, 1 for track 1, 2 for track 2, etc.

Returnvalues:
boolean retval true in case of success; false in case of error
string trackstatechunk the trackstatechunk for track tracknumber



^ Reaper version 6.02 Ultraschall version 4.00GetTrackState_NumbersOnly

Functioncall:
Lua: table values = ultraschall.GetTrackState_NumbersOnly(string state, optional string TrackStateChunk, optional string functionname, optional boolean numbertoggle)

Description:

returns a state of a TrackStateChunk.

It only supports single-entry-states with numbers/integers, separated by spaces!
All other values will be set to nil and strings with spaces will produce weird results!

returns nil in case of an error

Parameters:
string state the state, whose attributes you want to retrieve
string TrackStateChunk a statechunk of a track
optional string functionname if this function is used within specific gettrackstate-functions, pass here the "host"-functionname, so error-messages will reflect that
optional boolean numbertoggle true or nil; converts all values to numbers; false, keep them as string versions

Returnvalues:
table values all values found as numerical indexed array



^ Reaper version 5.40 Ultraschall version 4.00GetTrackVUState

Functioncall:
Lua: integer VUState = ultraschall.GetTrackVUState(integer tracknumber, optional string TrackStateChunk)

Description:

returns VUState.

It's the entry VU

returns nil in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead.
optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track

Returnvalues:
integer VUState nil if MultiChannelMetering is off, 2 if MultichannelMetering is on, 3 Metering is off



^ Reaper version 5.40 Ultraschall version 4.00GetTrackVolPan

Functioncall:
Lua: number Vol, number Pan, number OverridePanLaw, number unknown, number unknown2 = ultraschall.GetTrackVolPan(integer tracknumber, optional string TrackStateChunk)

Description:

returns Vol and Pan-states of the track.

It's the entry VOLPAN

returns nil in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead.
optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track

Returnvalues:
number Vol Volume Settings -Inf dB(0) to +12dB (3.98107170553497)
number Pan Pan Settings -1(-100%); 0(center); 1(100% R)
number OverridePanLaw Override Default Pan Track Law 0dB(1) to -144dB(0.00000006309573)
number unknown unknown
number unknown2 unknown



^ Reaper version 5.40 Ultraschall version 4.00GetTrackWidth

Functioncall:
Lua: number width = ultraschall.GetTrackWidth(integer tracknumber, optional string TrackStateChunk)

Description:

returns width of the track. 1 if set to +100%.

Note for TrackStateChunk-enthusiasts: When set to +100%, it is not stored in the TrackStateChunk

It's the entry WIDTH

returns nil in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead.
optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track

Returnvalues:
number width width of the track, from -1(-100%) to 1(+100%)



^ Reaper version 5.965 Ultraschall version 4.00SetTrackSelection_TrackStateChunk

Functioncall:
Lua: string alteredTrackStateChunk = ultraschall.SetTrackSelection_TrackStateChunk(integer selection_state, string TrackStateChunk)

Description:

set selection of the track in a TrackStateChunk.    

It's the entry SEL.

Works only with statechunks stored in ProjectStateChunks, due API-limitations!

returns nil in case of an error

Parameters:
integer selection_state 0, track is unselected; 1, track is selected
string TrackStateChunk a TrackStateChunk whose selection-state you want to set; works only with TrackStateChunks from ProjectStateChunks!

Returnvalues:
string alteredTrackStateChunk the altered TrackStateChunk with the new selection




^ Reaper version 5.40 Ultraschall version 4.00AddTrackHWOut

Functioncall:
Lua: boolean retval, optional string TrackStateChunk = ultraschall.AddTrackHWOut(integer tracknumber, integer outputchannel, integer post_pre_fader, number volume, number pan, integer mute, integer phase, integer source, number pan_law, integer automationmode, optional parameter TrackStateChunk)

Description:

Adds a setting of the HWOUT-HW-destination, as set in the routing-matrix, as well as in the Destination "Controls for Track"-dialogue, of tracknumber. This function does not check the parameters for plausability, so check your settings twice!

see DB2MKVOL to convert parameter volume from a dB-value

returns false in case of failure


Parameters:
integer tracknumber the number of the track, whose HWOut you want. 0 for Master Track; -1, use parameter TrackStateChunk instead
integer outputchannel outputchannel, with 1024+x the individual hw-outputchannels, 0,2,4,etc stereo output channels
integer post_pre_fader 0-post-fader(post pan), 1-preFX, 3-pre-fader(Post-FX), as set in the Destination "Controls for Track"-dialogue
number volume volume, as set in the Destination "Controls for Track"-dialogue
number pan pan, as set in the Destination "Controls for Track"-dialogue
integer mute mute, 1-on, 0-off, as set in the Destination "Controls for Track"-dialogue
integer phase Phase, 1-on, 0-off, as set in the Destination "Controls for Track"-dialogue
integer source source, as set in the Destination "Controls for Track"-dialogue -1 - None 0 - Stereo Source 1/2 4 - Stereo Source 5/6 12 - New Channels On Sending Track Stereo Source Channel 13/14 1024 - Mono Source 1 1029 - Mono Source 6 1030 - New Channels On Sending Track Mono Source Channel 7 1032 - New Channels On Sending Track Mono Source Channel 9 2048 - MultiChannel 4 Channels 1-4 2050 - Multichannel 4 Channels 3-6 3072 - Multichannel 6 Channels 1-6
number pan_law pan-law, as set in the dialog that opens, when you right-click on the pan-slider in the routing-settings-dialog; default is -1 for +0.0dB
integer automationmode automation mode, as set in the Destination "Controls for Track"-dialogue -1 - Track Automation Mode 0 - Trim/Read 1 - Read 2 - Touch 3 - Write 4 - Latch 5 - Latch Preview
optional parameter TrackStateChunk a TrackStateChunk into which to add the hwout-setting; only available, when tracknumber=-1

Returnvalues:
boolean retval true, if it worked; false if it didn't
optional parameter TrackStateChunk an altered TrackStateChunk into which you added the new hwout-setting



^ Reaper version 5.965 Ultraschall version 4.00ApplyAllHWOuts

Functioncall:
Lua: boolean retval = ultraschall.ApplyAllHWOuts(table AllHWOuts, optional integer option)

Description:

Takes a table, as returned by GetAllHWOuts with all HWOut-settings of all tracks and applies it to all tracks.

When you set option to 2, the individual entries will be applied to the tracks, that have the guids stored in table table[tracknumber]["TrackID"], otherwise, this function will apply it to track0 to trackn, which is the same as table["number_of_tracks"]. That way, you can create RoutingSnapshots, that will stay in the right tracks, even if they are ordered differently or when tracks have been added/deleted.

This influences the MasterTrack as well!

expected table is of structure:

table["HWOuts"]=true - signals, this is a HWOuts-table; don't change that! table["number_of_tracks"] - the number of tracks in this table, from track 0(master) to track n table[tracknumber]["HWOut_count"] - the number of HWOuts of tracknumber, beginning with 1 table[tracknumber]["TrackID"] - the unique id of the track as guid; can be used to get the MediaTrack using reaper.BR_GetMediaTrackByGUID(0, guid) table[tracknumber][HWOutIndex]["outputchannel"] - the number of outputchannels of this HWOutIndex of tracknumber table[tracknumber][HWOutIndex]["post_pre_fader"] - the setting of post-pre-fader of this HWOutIndex of tracknumber table[tracknumber][HWOutIndex]["volume"] - the volume of this HWOutIndex of tracknumber table[tracknumber][HWOutIndex]["pan"] - the panning of this HWOutIndex of tracknumber table[tracknumber][HWOutIndex]["mute"] - the mute-setting of this HWOutIndex of tracknumber table[tracknumber][HWOutIndex]["phase"] - the phase-setting of this HWOutIndex of tracknumber table[tracknumber][HWOutIndex]["source"] - the source/input of this HWOutIndex of tracknumber table[tracknumber][HWOutIndex]["pan_law"] - pan-law, default is -1 table[tracknumber][HWOutIndex]["automationmode"] - the automation-mode of this HWOutIndex of tracknumber

See GetTrackHWOut for more details on the individual settings, stored in the entries.

returns false in case of an error


Parameters:
table AllHWOuts a table with all AllHWOut-entries of the current project
optional integer option nil or 1, HWOuts will be applied to Track 0(MasterTrack) to table["number_of_tracks"]; 2, HWOuts will be applied to the tracks with the guid TrackID

Returnvalues:
boolean retval true, setting was successful; false, it was unsuccessful



^ Reaper version 5.965 Ultraschall version 4.00AreHWOutsTablesEqual

Functioncall:
Lua: boolean retval = ultraschall.AreHWOutsTablesEqual(table AllHWOuts, table AllHWOuts2, optional integer option)

Description:

Compares two HWOuts-tables, as returned by GetAllHWOuts or GetAllHWOuts2

if option=2 then it will also compare, if the stored track-guids are the equal. Otherwise, it will only check the individual settings, even if the guids are different between the two tables.

returns false in case of an error


Parameters:
table AllHWOuts a table with all HWOut-settings of all tracks
table AllHWOuts2 a table with all HWOut-settings of all tracks, that you want to compare to AllHWOuts
optional integer option nil or 1, to compare everything, except the stored TrackGuids; 2, include comparing the stored TrackGuids as well

Returnvalues:
boolean retval true, if the two tables are equal HWOuts; false, if not



^ Reaper version 5.965 Ultraschall version 4.00ClearRoutingMatrix

Functioncall:
Lua: boolean retval = ultraschall.ClearRoutingMatrix(boolean ClearHWOuts, boolean ClearAuxRecvs, boolean ClearTrackMasterSends, boolean ClearMasterTrack, boolean undo)

Description:

Clears all routing-matrix-settings or optionally part of them

returns false in case of an error

Parameters:
boolean ClearHWOuts nil or true, clear all HWOuts; false, keep the HWOuts intact
boolean ClearAuxRecvs nil or true, clear all Send/Receive-settings; false, keep the Send/Receive-settings intact
boolean ClearTrackMasterSends nil or true, clear all send to master-checkboxes; false, keep them intact
boolean ClearMasterTrack nil or true, include the Mastertrack as well; false, don't include it
boolean undo true, set undo point; false or nil, don't set undo point

Returnvalues:
boolean retval true, clearing was successful; false, clearing was unsuccessful



^ Reaper version 5.40 Ultraschall version 4.00CountTrackHWOuts

Functioncall:
Lua: integer count_HWOuts = ultraschall.CountTrackHWOuts(integer tracknumber, optional string TrackStateChunk)

Description:

Counts and returns the number of existing HWOUT-HW-destination, as set in the routing-matrix, as well as in the Destination "Controls for Track"-dialogue, of tracknumber.
returns -1 in case of failure

Parameters:
integer tracknumber the number of the track, whose HWOUTs you want to count. 0 for Master Track; -1, to use optional parameter TrackStateChunk instead
optional string TrackStateChunk the TrackStateChunk, whose hwouts you want to count; only when tracknumber=-1

Returnvalues:
integer count_HWOuts the number of HWOuts in tracknumber



^ Reaper version 5.965 Ultraschall version 4.00DeleteTrackHWOut

Functioncall:
Lua: boolean retval, optional string TrackStateChunk = ultraschall.DeleteTrackHWOut(integer tracknumber, integer idx, optional string TrackStateChunk)

Description:

Deletes the idxth HWOut-Setting of tracknumber.
returns false in case of failure

Parameters:
integer tracknumber the number of the track, whose HWOUTs you want to delete. 0 for Master Track. -1, if you want to use the parameter TrackStateChunk instead
integer idx the number of the HWOut-setting, that you want to delete; -1, to delete all HWOuts from this track
optional string TrackStateChunk the TrackStateChunk, from which you want to delete HWOut-entries

Returnvalues:
boolean retval true if it worked, false if it didn't.
optional string TrackStateChunk the altered TrackStateChunk, from which you deleted HWOut-entries; only available, when tracknumber=-1



^ Reaper version 5.965 Ultraschall version 4.00GetAllHWOuts

Functioncall:
Lua: table AllHWOuts, integer number_of_tracks = ultraschall.GetAllHWOuts()

Description:

returns a table with all HWOut-settings of all tracks, including master-track(track index: 0)

returned table is of structure: table["HWOuts"]=true - signals, this is a HWOuts-table; don't change that! table["number_of_tracks"] - the number of tracks in this table, from track 0(master) to track n table[tracknumber]["HWOut_count"] - the number of HWOuts of tracknumber, beginning with 1 table[tracknumber]["TrackID"] - the unique id of the track as guid; can be used to get the MediaTrack using reaper.BR_GetMediaTrackByGUID(0, guid) table[tracknumber][HWOutIndex]["outputchannel"] - the number of outputchannels of this HWOutIndex of tracknumber table[tracknumber][HWOutIndex]["post_pre_fader"] - the setting of post-pre-fader of this HWOutIndex of tracknumber table[tracknumber][HWOutIndex]["volume"] - the volume of this HWOutIndex of tracknumber table[tracknumber][HWOutIndex]["pan"] - the panning of this HWOutIndex of tracknumber table[tracknumber][HWOutIndex]["mute"] - the mute-setting of this HWOutIndex of tracknumber table[tracknumber][HWOutIndex]["phase"] - the phase-setting of this HWOutIndex of tracknumber table[tracknumber][HWOutIndex]["source"] - the source/input of this HWOutIndex of tracknumber table[tracknumber][HWOutIndex]["pan_law"] - pan-law, default is -1 table[tracknumber][HWOutIndex]["automationmode"] - the automation-mode of this HWOutIndex of tracknumber

See GetTrackHWOut for more details on the individual settings, stored in the entries.


Returnvalues:
table AllHWOuts a table with all HWOuts of the current project.
integer number_of_tracks the number of tracks in the AllMainSends-table



^ Reaper version 5.40 Ultraschall version 4.00GetTrackHWOut

Functioncall:
Lua: integer outputchannel, integer post_pre_fader, number volume, number pan, integer mute, integer phase, integer source, number pan_law, integer automationmode = ultraschall.GetTrackHWOut(integer tracknumber, integer idx, optional string TrackStateChunk)

Description:

Returns the settings of the HWOUT-HW-destination, as set in the routing-matrix, as well as in the Destination "Controls for Track"-dialogue, of tracknumber. There can be more than one, which you can choose with idx.

It's the entry HWOUT

see see MKVOL2DB to convert the volume-returnvalue into a dB-value

returns -1 in case of failure


Parameters:
integer tracknumber the number of the track, whose HWOut you want, 0 for Master Track
integer idx the id-number of the HWOut, beginning with 1 for the first HWOut-Settings
optional string TrackStateChunk a TrackStateChunk, whose HWOUT-entries you want to get

Returnvalues:
integer outputchannel outputchannel, with 1024+x the individual hw-outputchannels, 0,2,4,etc stereo output channels
integer post_pre_fader 0-post-fader(post pan), 1-preFX, 3-pre-fader(Post-FX), as set in the Destination "Controls for Track"-dialogue
number volume volume, as set in the Destination "Controls for Track"-dialogue
number pan pan, as set in the Destination "Controls for Track"-dialogue
integer mute mute, 1-on, 0-off, as set in the Destination "Controls for Track"-dialogue
integer phase Phase, 1-on, 0-off, as set in the Destination "Controls for Track"-dialogue
integer source source, as set in the Destination "Controls for Track"-dialogue -1 - None 0 - Stereo Source 1/2 4 - Stereo Source 5/6 12 - New Channels On Sending Track Stereo Source Channel 13/14 1024 - Mono Source 1 1029 - Mono Source 6 1030 - New Channels On Sending Track Mono Source Channel 7 1032 - New Channels On Sending Track Mono Source Channel 9 2048 - MultiChannel 4 Channels 1-4 2050 - Multichannel 4 Channels 3-6 3072 - Multichannel 6 Channels 1-6
number pan_law pan-law, as set in the dialog that opens, when you right-click on the pan-slider in the routing-settings-dialog; default is -1 for +0.0dB
integer automationmode automation mode, as set in the Destination "Controls for Track"-dialogue -1 - Track Automation Mode 0 - Trim/Read 1 - Read 2 - Touch 3 - Write 4 - Latch 5 - Latch Preview



^ Reaper version 5.40 Ultraschall version 4.00SetTrackHWOut

Functioncall:
Lua: boolean retval, optional string TrackStateChunk = ultraschall.SetTrackHWOut(integer tracknumber, integer idx, integer outputchannel, integer post_pre_fader, number volume, number pan, integer mute, integer phase, integer source, number pan_law, integer automationmode, optional string TrackStateChunk)

Description:

Sets a setting of the HWOUT-HW-destination, as set in the routing-matrix, as well as in the Destination "Controls for Track"-dialogue, of tracknumber. There can be more than one, so choose the one you want to change with idx. To retain old-settings, use nil with the accompanying parameters. This function does not check the parameters for plausability, so check your settings twice, or the HWOut-setting might disappear with faulty parameters!

see DB2MKVOL to convert volume from a dB-value

returns false in case of failure


Parameters:
integer tracknumber the number of the track, whose HWOut you want. 0 for Master Track
integer idx the number of the HWOut-setting, you want to change
integer outputchannel outputchannel, with 1024+x the individual hw-outputchannels, 0,2,4,etc stereo output channels
integer post_pre_fader 0-post-fader(post pan), 1-preFX, 3-pre-fader(Post-FX), as set in the Destination "Controls for Track"-dialogue
number volume volume, as set in the Destination "Controls for Track"-dialogue
number pan pan, as set in the Destination "Controls for Track"-dialogue
integer mute mute, 1-on, 0-off, as set in the Destination "Controls for Track"-dialogue
integer phase Phase, 1-on, 0-off, as set in the Destination "Controls for Track"-dialogue
integer source source, as set in the Destination "Controls for Track"-dialogue -1 - None 0 - Stereo Source 1/2 4 - Stereo Source 5/6 12 - New Channels On Sending Track Stereo Source Channel 13/14 1024 - Mono Source 1 1029 - Mono Source 6 1030 - New Channels On Sending Track Mono Source Channel 7 1032 - New Channels On Sending Track Mono Source Channel 9 2048 - MultiChannel 4 Channels 1-4 2050 - Multichannel 4 Channels 3-6 3072 - Multichannel 6 Channels 1-6
number pan_law pan-law, as set in the dialog that opens, when you right-click on the pan-slider in the routing-settings-dialog; default is -1 for +0.0dB
integer automationmode automation mode, as set in the Destination "Controls for Track"-dialogue -1 - Track Automation Mode 0 - Trim/Read 1 - Read 2 - Touch 3 - Write 4 - Latch 5 - Latch Preview
optional string TrackStateChunk sets an HWOUT-entry in a TrackStateChunk

Returnvalues:
boolean retval true, if it worked; false if it didn't
optional string TrackStateChunk an altered TrackStateChunk, in which you've set a send/receive-setting; only available when track=-1




^ Reaper version 5.975 Ultraschall version 4.00AddTrackAUXSendReceives

Functioncall:
Lua: boolean retval, optional string TrackStateChunk = ultraschall.AddTrackAUXSendReceives(integer tracknumber, integer recv_tracknumber, integer post_pre_fader, number volume, number pan, integer mute, integer mono_stereo, integer phase, integer chan_src, integer snd_chan, number pan_law, integer midichanflag, integer automation, optional string TrackStateChunk)

Description:

Adds a setting of Send/Receive, as set in the routing-matrix, as well as in the Destination "Controls for Track"-dialogue, of tracknumber. There can be more than one. Remember, if you want to set the sends of a track, you need to add it to the track, that shall receive, not the track that sends! Set recv_tracknumber in the track that receives with the tracknumber that sends, and you've set it successfully.

Due to the complexity of send/receive-settings, this function does not check, whether the parameters are plausible. So check twice, whether the added sends/receives appear, as they might not appear!

see DB2MKVOL to convert parameter volume from a dB-value

returns false in case of failure


Parameters:
integer tracknumber the number of the track, whose Send/Receive you want; -1, if you want to use the parameter TrackStateChunk
integer recv_tracknumber Tracknumber, from where to receive the audio from
integer post_pre_fader 0-PostFader, 1-PreFX, 3-Pre-Fader
number volume Volume
number pan pan, as set in the Destination "Controls for Track"-dialogue; negative=left, positive=right, 0=center
integer mute Mute this send(1) or not(0)
integer mono_stereo Mono(1), Stereo(0)
integer phase Phase of this send on(1) or off(0)
integer chan_src Audio-Channel Source -1 - None 0 - Stereo Source 1/2 1 - Stereo Source 2/3 2 - Stereo Source 3/4 1024 - Mono Source 1 1025 - Mono Source 2 2048 - Multichannel Source 4 Channels 1-4
integer snd_chan send to channel 0 - Stereo 1/2 1 - Stereo 2/3 2 - Stereo 3/4 ... 1024 - Mono Channel 1 1025 - Mono Channel 2
number pan_law pan-law, as set in the dialog that opens, when you right-click on the pan-slider in the routing-settings-dialog; default is -1 for +0.0dB
integer midichanflag 0 - All Midi Tracks 1 to 16 - Midi Channel 1 to 16 32 - send to Midi Channel 1 64 - send to MIDI Channel 2 96 - send to MIDI Channel 3 ... 512 - send to MIDI Channel 16 4194304 - send to MIDI-Bus B1 send to MIDI-Bus B1 + send to MIDI Channel nr = MIDIBus B1 1/nr: 16384 - BusB1 BusB1+1 to 16 - BusB1-Channel 1 to 16 32768 - BusB2 BusB2+1 to 16 - BusB2-Channel 1 to 16 49152 - BusB3 ... BusB3+1 to 16 - BusB3-Channel 1 to 16 262144 - BusB16 BusB16+1 to 16 - BusB16-Channel 1 to 16 1024 - Add that value to switch MIDI On 4177951 - MIDI - None
integer automation Automation Mode -1 - Track Automation Mode 0 - Trim/Read 1 - Read 2 - Touch 3 - Write 4 - Latch 5 - Latch Preview
optional string TrackStateChunk the TrackStateChunk, to which you want to add a new receive-routing

Returnvalues:
boolean retval true if it worked, false if it didn't.
optional parameter TrackStateChunk an altered TrackStateChunk into which you added a new receive/routing; only available, when tracknumber=-1



^ Reaper version 5.40 Ultraschall version 4.00ApplyAllAUXSendReceives

Functioncall:
Lua: boolean retval = ultraschall.ApplyAllAUXSendReceives(table AllAUXSendReceives, optional integer option)

Description:

takes a table, as returned by GetAllAUXSendReceive with all AUXSendReceive-settings of all tracks and applies it to all tracks.

When you set option to 2, the individual entries will be applied to the tracks, that have the guids stored in table table[tracknumber]["TrackID"], otherwise, this function will apply it to track1 to trackn, which is the same as table["number_of_tracks"]. That way, you can create RoutingSnapshots, that will stay in the right tracks, even if they are ordered differently or when tracks have been added/deleted.

expected table is of structure: table["AllAUXSendReceive"]=true - signals, this is an AllAUXSendReceive-table. Don't alter! table["number_of_tracks"] - the number of tracks in this table, from track 1 to track n table[tracknumber]["AUXSendReceives_count"] - the number of AUXSendReceives of tracknumber, beginning with 1 table[tracknumber]["TrackID"] - the unique id of the track as guid; can be used to get the MediaTrack using reaper.BR_GetMediaTrackByGUID(0, guid) table[tracknumber][AUXSendReceivesIndex]["recv_tracknumber"] - the track, from which to receive audio in this AUXSendReceivesIndex of tracknumber table[tracknumber][AUXSendReceivesIndex]["recv_track_guid"] - the guid of the receive-track; with that, you can be sure to get the right receive-track, even if trackorder changes table[tracknumber][AUXSendReceivesIndex]["post_pre_fader"] - the setting of post-pre-fader of this AUXSendReceivesIndex of tracknumber table[tracknumber][AUXSendReceivesIndex]["volume"] - the volume of this AUXSendReceivesIndex of tracknumber table[tracknumber][AUXSendReceivesIndex]["pan"] - the panning of this AUXSendReceivesIndex of tracknumber table[tracknumber][AUXSendReceivesIndex]["mute"] - the mute-setting of this AUXSendReceivesIndex of tracknumber table[tracknumber][AUXSendReceivesIndex]["mono_stereo"] - the mono/stereo-button-setting of this AUXSendReceivesIndex of tracknumber table[tracknumber][AUXSendReceivesIndex]["phase"] - the phase-setting of this AUXSendReceivesIndex of tracknumber table[tracknumber][AUXSendReceivesIndex]["chan_src"] - the audiochannel-source of this AUXSendReceivesIndex of tracknumber table[tracknumber][AUXSendReceivesIndex]["snd_src"] - the send-to-channel-target of this AUXSendReceivesIndex of tracknumber table[tracknumber][AUXSendReceivesIndex]["pan_law"] - pan-law, default is -1 table[tracknumber][AUXSendReceivesIndex]["midichanflag"] - the Midi-channel of this AUXSendReceivesIndex of tracknumber, leave it 0 table[tracknumber][AUXSendReceivesIndex]["automation"] - the automation-mode of this AUXSendReceivesIndex of tracknumber

See GetTrackAUXSendReceives for more details on the individual settings, stored in the entries.

returns false in case of an error


Parameters:
table AllAUXSendReceives a table with all AllAUXSendReceive-entries of the current project
optional integer option nil or 1, AUXRecvs will be applied to Track 1 to table["number_of_tracks"]; 2, AUXRecvs will be applied to the tracks with the guid TrackID

Returnvalues:
boolean retval true, setting was successful; false, it was unsuccessful



^ Reaper version 5.965 Ultraschall version 4.00ApplyAllMainSendStates

Functioncall:
Lua: boolean retval = ultraschall.ApplyAllMainSendStates(table AllMainSendsTable, optional integer option)

Description:

takes a table, as returned by GetAllMainSendStates with all MainSend-settings of all tracks and applies it to all tracks.

The MainSend-settings are the settings, if a certain track sends it's signal to the Master Track.

When you set option to 2, the individual entries will be applied to the tracks, that have the guids stored in table table[tracknumber]["TrackID"], otherwise, this function will apply it to track0 to trackn, which is the same as table["number_of_tracks"]. That way, you can create RoutingSnapshots, that will stay in the right tracks, even if they are ordered differently or when tracks have been added/deleted.

This influences the MasterTrack as well!

expected table is of structure: Table["number_of_tracks"] - The number of tracks in this table, from track 1 to track n Table["MainSend"]=true - signals, this is an AllMainSends-table table[tracknumber]["TrackID"] - the unique id of the track as guid; can be used to get the MediaTrack using reaper.BR_GetMediaTrackByGUID(0, guid) Table[tracknumber]["MainSendOn"] - Send to Master on(1) or off(1) Table[tracknumber]["ParentChannels"] - the parent channels of this track

See GetTrackMainSendState for more details on the individual settings, stored in the entries.

returns false in case of an error


Parameters:
table AllMainSends a table with all AllMainSends-entries of the current project
optional integer option nil or 1, MainSend-settings will be applied to Track 1 to table["number_of_tracks"]; 2, MasterSends will be applied to the tracks with the guid stored in table[tracknumber]["TrackID"].

Returnvalues:
boolean retval true, setting was successful; false, it was unsuccessful



^ Reaper version 5.965 Ultraschall version 4.00AreAUXSendReceivesTablesEqual

Functioncall:
Lua: boolean retval = ultraschall.AreAUXSendReceivesTablesEqual(table AllAUXSendReceives, table AllAUXSendReceives2, optional integer option)

Description:

Compares two AllAUXSendReceives-tables, as returned by GetAllAUXSendReceives or GetAllAUXSendReceives2

if option=2 then it will also compare, if the stored track-guids are the equal. Otherwise, it will only check the individual settings, even if the guids are different between the two tables.

returns false in case of an error


Parameters:
table AllAUXSendReceives a table with all AllAUXSendReceives-settings of all tracks
table AllAUXSendReceives2 a table with all AllAUXSendReceives-settings of all tracks, that you want to compare to AllAUXSendReceives
optional integer option nil or 1, to compare everything, except the stored TrackGuids; 2, include comparing the stored TrackGuids as well

Returnvalues:
boolean retval true, if the two tables are equal AllMainSends; false, if not



^ Reaper version 5.965 Ultraschall version 4.00AreMainSendsTablesEqual

Functioncall:
Lua: boolean retval = ultraschall.AreMainSendsTablesEqual(table AllMainSends, table AllMainSends2, optional integer option)

Description:

Compares two AllMainSends-tables, as returned by GetAllMainSendStates or GetAllMainSendStates2

if option=2 then it will also compare, if the stored track-guids are the equal. Otherwise, it will only check the individual settings, even if the guids are different between the two tables.

returns false in case of an error


Parameters:
table AllMainSends a table with all AllMainSends-settings of all tracks
table AllMainSends2 a table with all AllMainSends-settings of all tracks, that you want to compare to AllMainSends
optional integer option nil or 1, to compare everything, except the stored TrackGuids; 2, include comparing the stored TrackGuids as well

Returnvalues:
boolean retval true, if the two tables are equal AllMainSends; false, if not



^ Reaper version 5.965 Ultraschall version 4.00ClearRoutingMatrix

Functioncall:
Lua: boolean retval = ultraschall.ClearRoutingMatrix(boolean ClearHWOuts, boolean ClearAuxRecvs, boolean ClearTrackMasterSends, boolean ClearMasterTrack, boolean undo)

Description:

Clears all routing-matrix-settings or optionally part of them

returns false in case of an error

Parameters:
boolean ClearHWOuts nil or true, clear all HWOuts; false, keep the HWOuts intact
boolean ClearAuxRecvs nil or true, clear all Send/Receive-settings; false, keep the Send/Receive-settings intact
boolean ClearTrackMasterSends nil or true, clear all send to master-checkboxes; false, keep them intact
boolean ClearMasterTrack nil or true, include the Mastertrack as well; false, don't include it
boolean undo true, set undo point; false or nil, don't set undo point

Returnvalues:
boolean retval true, clearing was successful; false, clearing was unsuccessful



^ Reaper version 5.40 Ultraschall version 4.00CountTrackAUXSendReceives

Functioncall:
Lua: integer count_SendReceives = ultraschall.CountTrackAUXSendReceives(integer tracknumber, optional string TrackStateChunk)

Description:

Counts and returns the number of existing Send/Receives/Routing-settings, as set in the routing-matrix, as well as in the Destination "Controls for Track"-dialogue, of tracknumber.
returns -1 in case of failure

Parameters:
integer tracknumber the number of the track, whose Send/Receive you want; -1, if you want to pass a TrackStateChunk instead
optional string TrackStateChunk the TrackStateChunk, whose hwouts you want to count; only when tracknumber=-1

Returnvalues:
integer count_SendReceives the number of Send/Receives-Settings in tracknumber



^ Reaper version 5.965 Ultraschall version 4.00DeleteTrackAUXSendReceives

Functioncall:
Lua: boolean retval = ultraschall.DeleteTrackAUXSendReceives(integer tracknumber, integer idx, optional string TrackStateChunk)

Description:

Deletes the idxth Send/Receive-Setting of tracknumber.
returns false in case of failure

Parameters:
integer tracknumber the number of the track, whose Send/Receive you want; -1, if you want to use the parameter TrackStateChunk
integer idx the number of the send/receive-setting, that you want to delete; -1, deletes all AuxReceives on this track
optional string TrackStateChunk a TrackStateChunk, from which you want to delete Send/Receive-entries; only available, when tracknumber=-1

Returnvalues:
boolean retval true if it worked, false if it didn't.
optional string TrackStateChunk an altered TrackStateChunk, from which you deleted a Send/Receive-entrie; only available, when tracknumber=-1



^ Reaper version 5.965 Ultraschall version 4.00GetAllAUXSendReceives

Functioncall:
Lua: table AllAUXSendReceives, integer number_of_tracks = ultraschall.GetAllAUXSendReceives()

Description:

returns a table with all AUX-SendReceive-settings of all tracks, excluding master-track

returned table is of structure: table["AllAUXSendReceive"]=true - signals, this is an AllAUXSendReceive-table. Don't alter! table["number_of_tracks"] - the number of tracks in this table, from track 1 to track n table[tracknumber]["AUXSendReceives_count"] - the number of AUXSendReceives of tracknumber, beginning with 1 table[tracknumber]["TrackID"] - the unique id of the track as guid; can be used to get the MediaTrack using reaper.BR_GetMediaTrackByGUID(0, guid) table[tracknumber][AUXSendReceivesIndex]["recv_tracknumber"] - the track, from which to receive audio in this AUXSendReceivesIndex of tracknumber table[tracknumber][AUXSendReceivesIndex]["recv_track_guid"] - the guid of the receive-track; with that, you can be sure to get the right receive-track, even if trackorder changes table[tracknumber][AUXSendReceivesIndex]["post_pre_fader"] - the setting of post-pre-fader of this AUXSendReceivesIndex of tracknumber table[tracknumber][AUXSendReceivesIndex]["volume"] - the volume of this AUXSendReceivesIndex of tracknumber table[tracknumber][AUXSendReceivesIndex]["pan"] - the panning of this AUXSendReceivesIndex of tracknumber table[tracknumber][AUXSendReceivesIndex]["mute"] - the mute-setting of this AUXSendReceivesIndex of tracknumber table[tracknumber][AUXSendReceivesIndex]["mono_stereo"] - the mono/stereo-button-setting of this AUXSendReceivesIndex of tracknumber table[tracknumber][AUXSendReceivesIndex]["phase"] - the phase-setting of this AUXSendReceivesIndex of tracknumber table[tracknumber][AUXSendReceivesIndex]["chan_src"] - the audiochannel-source of this AUXSendReceivesIndex of tracknumber table[tracknumber][AUXSendReceivesIndex]["snd_src"] - the send-to-channel-target of this AUXSendReceivesIndex of tracknumber table[tracknumber][AUXSendReceivesIndex]["pan_law"] - pan-law, default is -1 table[tracknumber][AUXSendReceivesIndex]["midichanflag"] - the Midi-channel of this AUXSendReceivesIndex of tracknumber, leave it 0 table[tracknumber][AUXSendReceivesIndex]["automation"] - the automation-mode of this AUXSendReceivesIndex of tracknumber

See GetTrackAUXSendReceives for more details on the individual settings, stored in the entries.


Returnvalues:
table AllAUXSendReceives a table with all SendReceive-entries of the current project.
integer number_of_tracks the number of tracks in the AllMainSends-table



^ Reaper version 5.965 SWS version 2.9.7 Ultraschall version 4.00GetAllMainSendStates

Functioncall:
Lua: table AllMainSends, integer number_of_tracks = ultraschall.GetAllMainSendStates()

Description:

returns a table with all MainSend-settings of all tracks, excluding master-track.

The MainSend-settings are the settings, if a certain track sends it's signal to the Master Track

returned table is of structure: Table["number_of_tracks"] - The number of tracks in this table, from track 1 to track n Table["MainSend"]=true - signals, this is an AllMainSends-table table[tracknumber]["TrackID"] - the unique id of the track as guid; can be used to get the MediaTrack using reaper.BR_GetMediaTrackByGUID(0, guid) Table[tracknumber]["MainSendOn"] - Send to Master on(1) or off(1) Table[tracknumber]["ParentChannels"] - the parent channels of this track

See GetTrackMainSendState for more details on the individual settings, stored in the entries.


Returnvalues:
table AllMainSends a table with all AllMainSends-entries of the current project.
integer number_of_tracks the number of tracks in the AllMainSends-table



^ Reaper version 5.40 Ultraschall version 4.00GetTrackAUXSendReceives

Functioncall:
Lua: integer recv_tracknumber, integer post_pre_fader, number volume, number pan, integer mute, integer mono_stereo, integer phase, integer chan_src, integer snd_chan, number pan_law, integer midichanflag, integer automation = ultraschall.GetTrackAUXSendReceives(integer tracknumber, integer idx, optional string TrackStateChunk)

Description:

Returns the settings of the Send/Receive, as set in the routing-matrix, as well as in the Destination "Controls for Track"-dialogue, of tracknumber. There can be more than one, which you can choose with idx. Remember, if you want to get the sends of a track, you need to check the recv_tracknumber-returnvalues of the OTHER(!) tracks, as you can only get the receives. With the receives checked, you know, which track sends.

It's the entry AUXRECV

see MKVOL2DB to convert returnvalue volume into a dB-value

returns -1 in case of failure


Parameters:
integer tracknumber the number of the track, whose Send/Receive you want
integer idx the id-number of the Send/Receive, beginning with 1 for the first Send/Receive-Settings
optional string TrackStateChunk a TrackStateChunk, whose AUXRECV-entries you want to get

Returnvalues:
integer recv_tracknumber Tracknumber, from where to receive the audio from
integer post_pre_fader 0-PostFader, 1-PreFX, 3-Pre-Fader
number volume Volume
number pan pan, as set in the Destination "Controls for Track"-dialogue; negative=left, positive=right, 0=center
integer mute Mute this send(1) or not(0)
integer mono_stereo Mono(1), Stereo(0)
integer phase Phase of this send on(1) or off(0)
integer chan_src Audio-Channel Source -1 - None 0 - Stereo Source 1/2 1 - Stereo Source 2/3 2 - Stereo Source 3/4 1024 - Mono Source 1 1025 - Mono Source 2 2048 - Multichannel Source 4 Channels 1-4
integer snd_chan send to channel 0 - Stereo 1/2 1 - Stereo 2/3 2 - Stereo 3/4 ... 1024 - Mono Channel 1 1025 - Mono Channel 2
number pan_law pan-law, as set in the dialog that opens, when you right-click on the pan-slider in the routing-settings-dialog; default is -1 for +0.0dB
integer midichanflag 0 - All Midi Tracks 1 to 16 - Midi Channel 1 to 16 32 - send to Midi Channel 1 64 - send to MIDI Channel 2 96 - send to MIDI Channel 3 ... 512 - send to MIDI Channel 16 4194304 - send to MIDI-Bus B1 send to MIDI-Bus B1 + send to MIDI Channel nr = MIDIBus B1 1/nr: 16384 - BusB1 BusB1+1 to 16 - BusB1-Channel 1 to 16 32768 - BusB2 BusB2+1 to 16 - BusB2-Channel 1 to 16 49152 - BusB3 ... BusB3+1 to 16 - BusB3-Channel 1 to 16 262144 - BusB16 BusB16+1 to 16 - BusB16-Channel 1 to 16 1024 - Add that value to switch MIDI On 4177951 - MIDI - None
integer automation Automation Mode -1 - Track Automation Mode 0 - Trim/Read 1 - Read 2 - Touch 3 - Write 4 - Latch 5 - Latch Preview



^ Reaper version 5.95 Ultraschall version 4.00SetTrackAUXSendReceives

Functioncall:
Lua: boolean retval, optional string TrackStateChunk = ultraschall.SetTrackAUXSendReceives(integer tracknumber, integer idx, integer recv_tracknumber, integer post_pre_fader, number volume, number pan, integer mute, integer mono_stereo, integer phase, integer chan_src, integer snd_chan, number pan_law, integer midichanflag, integer automation, optional string TrackStateChunk)

Description:

Alters a setting of Send/Receive, as set in the routing-matrix, as well as in the Destination "Controls for Track"-dialogue, of tracknumber. There can be more than one, so choose the right one with idx. You can keep the old-setting by using nil as a parametervalue. Remember, if you want to set the sends of a track, you need to add it to the track, that shall receive, not the track that sends! Set recv_tracknumber in the track that receives with the tracknumber that sends, and you've set it successfully.

Due to the complexity of send/receive-settings, this function does not check, whether the parameters are plausible. So check twice, whether the change sends/receives still appear, as they might disappear with faulty settings!

see DB2MKVOL to convert parameter volume from a dB-value

returns false in case of failure


Parameters:
integer tracknumber the number of the track, whose Send/Receive you want
integer idx the send/receive-setting, you want to set
integer recv_tracknumber Tracknumber, from where to receive the audio from
integer post_pre_fader 0-PostFader, 1-PreFX, 3-Pre-Fader
number volume Volume
number pan pan, as set in the Destination "Controls for Track"-dialogue; negative=left, positive=right, 0=center
integer mute Mute this send(1) or not(0)
integer mono_stereo Mono(1), Stereo(0)
integer phase Phase of this send on(1) or off(0)
integer chan_src Audio-Channel Source -1 - None 0 - Stereo Source 1/2 1 - Stereo Source 2/3 2 - Stereo Source 3/4 1024 - Mono Source 1 1025 - Mono Source 2 2048 - Multichannel Source 4 Channels 1-4
integer snd_chan send to channel 0 - Stereo 1/2 1 - Stereo 2/3 2 - Stereo 3/4 ... 1024 - Mono Channel 1 1025 - Mono Channel 2
number pan_law pan-law, as set in the dialog that opens, when you right-click on the pan-slider in the routing-settings-dialog; default is -1 for +0.0dB
integer midichanflag 0 - All Midi Tracks 1 to 16 - Midi Channel 1 to 16 32 - send to Midi Channel 1 64 - send to MIDI Channel 2 96 - send to MIDI Channel 3 ... 512 - send to MIDI Channel 16 4194304 - send to MIDI-Bus B1 send to MIDI-Bus B1 + send to MIDI Channel nr = MIDIBus B1 1/nr: 16384 - BusB1 BusB1+1 to 16 - BusB1-Channel 1 to 16 32768 - BusB2 BusB2+1 to 16 - BusB2-Channel 1 to 16 49152 - BusB3 ... BusB3+1 to 16 - BusB3-Channel 1 to 16 262144 - BusB16 BusB16+1 to 16 - BusB16-Channel 1 to 16 1024 - Add that value to switch MIDI On 4177951 - MIDI - None
integer automation Automation Mode -1 - Track Automation Mode 0 - Trim/Read 1 - Read 2 - Touch 3 - Write 4 - Latch 5 - Latch Preview
optional string TrackStateChunk a TrackStateChunk, whose AUXRECV-entries you want to set

Returnvalues:
boolean retval true if it worked, false if it didn't.
optional string TrackStateChunk an altered TrackStateChunk, whose AUXRECV-entries you've altered




^ Reaper version 6.05 Ultraschall version 4.1CollapseTrackHeight

Functioncall:
Lua: boolean retval = ultraschall.CollapseTrackHeight(integer track)

Description:

Collapses the height of a track to the minimum height as set by the theme

returns false in case of an error

Parameters:
integer track the track, which you want to collapse in height

Returnvalues:
boolean retval true, collapsing was successful; false, collapsing was not successful



^ Reaper version 6.05 Ultraschall version 4.1GetTrackByTrackName

Functioncall:
Lua: integer number_of_found_tracks, table found_tracks, table found_tracknames = ultraschall.GetTrackByTrackName(string trackname, boolean case_sensitive, integer escaped_strict)

Description:

returns all tracks with a certain name.
    
    You can set case-sensitivity, whether pattern-matchin is possible and whether the name shall be used strictly.
    For instance, if you want to look for a track named exactly "JaM.-Enlightened" you set case_sensitive=false and escaped_strict=2. That way, tracks names "JaM.*Enlightened" will be ignored.
    
    returns -1 in case of an error

Parameters:
string trackname the trackname to look for
boolean case_sensitive true, take care of case-sensitivity; false, don't take case-sensitivity into account
integer escaped_strict 0, use trackname as matching-pattern, will find all tracknames following the pattern(Ja.-m -> Jam, Jam123Police, JaABBAm) 1, escape trackname off all magic characters, will find all tracknames with the escaped pattern in it (Ja.-m -> Ja.-m, Jam.-boree) 2, strict, will only find tracks with the exact trackname-string in their name(Jam -> Jam)

Returnvalues:
integer number_of_found_tracks the number of found tracks
table found_tracks the found tracks as table
table found_tracknames the found tracknames



^ Reaper version 5.40 Ultraschall version 4.00SetAllTracksSelected

Functioncall:
Lua: integer retval = ultraschall.SetAllTracksSelected(boolean selected)

Description:

Sets all tracks selected(if selected is true) of unselected(if selected is false)

returns -1 in case of error

Parameters:
boolean selected true, if all tracks shall be selected, false if all shall be deselected

Returnvalues:
integer retval returns -1 in case of error



^ Reaper version 5.40 Ultraschall version 4.00SetTrackAutoRecArmState

Functioncall:
Lua: boolean retval, string TrackStateChunk = ultraschall.SetTrackAutoRecArmState(integer tracknumber, integer autorecarmstate, optional string TrackStateChunk)

Description:

Set the AutoRecArmState for a track or a TrackStateChunk.

returns false in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk
integer autorecarmstate autorecarmstate - 1 - autorecarm on, <> than 1 - off
optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1

Returnvalues:
boolean retval true, if successful, false if unsuccessful
string TrackStateChunk the altered TrackStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetTrackAutomodeState

Functioncall:
Lua: boolean retval, string TrackStateChunk = ultraschall.SetTrackAutomodeState(integer tracknumber, integer automodestate, optional string TrackStateChunk)

Description:

Sets AUTOMODE-State, as set by the menu entry Set Track Automation Mode, for a track or a TrackStateChunk.

returns false in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk
integer automodestate 0 - trim/read, 1 - read, 2 - touch, 3 - write, 4 - latch
optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1

Returnvalues:
boolean retval true, if successful, false if unsuccessful
string TrackStateChunk the altered TrackStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetTrackBeatState

Functioncall:
Lua: boolean retval, string TrackStateChunk = ultraschall.SetTrackBeatState(integer tracknumber, integer beatstate, optional string TrackStateChunk)

Description:

Set the timebase for a track or a TrackStateChunk.

returns false in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk
integer beatstate tracktimebase for this track; -1 - Project time base, 0 - Time, 1 - Beats position, length, rate, 2 - Beats position only
optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1

Returnvalues:
boolean retval true, if successful, false if unsuccessful
string TrackStateChunk the altered TrackStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetTrackBusCompState

Functioncall:
Lua: boolean retval, string TrackStateChunk = ultraschall.SetTrackBusCompState(integer tracknumber, integer buscompstate1, integer buscompstate2, optional string TrackStateChunk)

Description:

Sets BUSCOMP-state of the track or a TrackStateChunk; This is the state, if tracks in a folder are compacted or not.

returns false in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; -1 if you want to use parameter TrackStateChunk
integer buscompstate1 - 0 - no compacting, 1 - compacted tracks, 2 - minimized tracks
integer buscompstate2 - 0 - unknown, 1 - unknown
optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1

Returnvalues:
boolean retval true, if successful, false if unsuccessful
string TrackStateChunk the altered TrackStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetTrackBypFXState

Functioncall:
Lua: boolean retval, string TrackStateChunk = ultraschall.SetTrackBypFXState(integer tracknumber, integer FXBypassState, optional string TrackStateChunk)

Description:

Sets FX, FX-Bypass-state of the track or a TrackStateChunk.

returns false in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk
integer FXBypassState 0 bypass, 1 activate fx; has only effect, if FX or instruments are added to this track
optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1

Returnvalues:
boolean retval true, if successful, false if unsuccessful
string TrackStateChunk the altered TrackStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetTrackFreeModeState

Functioncall:
Lua: boolean retval, string TrackStateChunk = ultraschall.SetTrackFreeModeState(integer tracknumber, integer freemodestate, optional string TrackStateChunk)

Description:

Sets FREEMODE-state of a track or a TrackStateChunk; enables Track-Free Item Positioning.

returns false in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; -1 if you want to use parameter TrackStateChunk
integer freemodestate 0 - off, 1 - on
optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1

Returnvalues:
boolean retval true, if successful, false if unsuccessful
string TrackStateChunk the altered TrackStateChunk



^ Reaper version 5.941 Ultraschall version 4.00SetTrackGroupFlagsState

Functioncall:
Lua: boolean retval, string TrackStateChunk = ultraschall.SetTrackGroupFlagsState(integer tracknumber, array groups_bitfield_table, optional string TrackStateChunk)

Description:

Set the GroupFlags-state of a track or trackstatechunk.
You can reach the Group-Flag-Settings in the context-menu of a track.

The groups_bitfield_table can contain up to 23 entries. Every entry represents one of the checkboxes in the Track grouping parameters-dialog

Each entry is a bitfield, that represents the groups, in which this flag is set to checked or unchecked.

So if you want to set Volume Master(table entry 1) to checked in Group 1(2^0=1) and 3(2^2=4):
  groups_bitfield_table[1]=groups_bitfield_table[1]+1+4

The following flags(and their accompanying array-entry-index) are available:
                       1 - Volume Master
                       2 - Volume Follow
                       3 - Pan Master
                       4 - Pan Follow
                       5 - Mute Master
                       6 - Mute Follow
                       7 - Solo Master
                       8 - Solo Follow
                       9 - Record Arm Master
                       10 - Record Arm Follow
                       11 - Polarity/Phase Master
                       12 - Polarity/Phase Follow
                       13 - Automation Mode Master
                       14 - Automation Mode Follow
                       15 - Reverse Volume
                       16 - Reverse Pan
                       17 - Do not master when slaving
                       18 - Reverse Width
                       19 - Width Master
                       20 - Width Follow
                       21 - VCA Master
                       22 - VCA Follow
                       23 - VCA pre-FX Follow

This function will work only for Groups 1 to 32. To set Groups 33 to 64, use SetTrackGroupFlags_HighState instead!

Returns false in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk
array groups_bitfield_table an array with all bitfields with all groupflag-settings
optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1

Returnvalues:
boolean retval true, if successful, false if unsuccessful
string TrackStateChunk the altered TrackStateChunk



^ Reaper version 5.941 Ultraschall version 4.00SetTrackGroupFlags_HighState

Functioncall:
Lua: boolean retval, string TrackStateChunk = ultraschall.SetTrackGroupFlags_HighState(integer tracknumber, array groups_bitfield_table, optional string TrackStateChunk)

Description:

Set the GroupFlags-state of a track or trackstatechunk.
You can reach the Group-Flag-Settings in the context-menu of a track.

The groups_bitfield_table can contain up to 23 entries. Every entry represents one of the checkboxes in the Track grouping parameters-dialog

Each entry is a bitfield, that represents the groups, in which this flag is set to checked or unchecked.

So if you want to set Volume Master(table entry 1) to checked in Group 33(2^0=1) and 35(2^2=4):
  groups_bitfield_table[1]=groups_bitfield_table[1]+1+4

The following flags(and their accompanying array-entry-index) are available:
                       1 - Volume Master
                       2 - Volume Follow
                       3 - Pan Master
                       4 - Pan Follow
                       5 - Mute Master
                       6 - Mute Follow
                       7 - Solo Master
                       8 - Solo Follow
                       9 - Record Arm Master
                       10 - Record Arm Follow
                       11 - Polarity/Phase Master
                       12 - Polarity/Phase Follow
                       13 - Automation Mode Master
                       14 - Automation Mode Follow
                       15 - Reverse Volume
                       16 - Reverse Pan
                       17 - Do not master when slaving
                       18 - Reverse Width
                       19 - Width Master
                       20 - Width Follow
                       21 - VCA Master
                       22 - VCA Follow
                       23 - VCA pre-FX Follow

This function will work only for Groups 33(2^0) to 64(2^31). To set Groups 1 to 32, use SetTrackGroupFlagsState instead!

Returns false in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk
array groups_bitfield_table an array with all bitfields with all groupflag-settings
optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1

Returnvalues:
boolean retval true, if successful, false if unsuccessful
string TrackStateChunk the altered TrackStateChunk



^ Reaper version 5.977 Ultraschall version 4.00SetTrackHeightState

Functioncall:
Lua: boolean retval, string TrackStateChunk = ultraschall.SetTrackHeightState(integer tracknumber, integer height, integer heightstate2, integer lockedtrackheight, optional string TrackStateChunk)

Description:

Sets TRACKHEIGHT-state; the height and compacted state of the track or a TrackStateChunk.

Has no visible effect on the master-track.

returns false in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk
integer height 24 up to 443 pixels
integer lockedtrackheight 0, trackheight is not locked; 1, trackheight is locked
optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1

Returnvalues:
boolean retval true, if successful, false if unsuccessful
string TrackStateChunk the altered TrackStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetTrackID

Functioncall:
Lua: boolean retval, string TrackStateChunk = ultraschall.SetTrackID(integer tracknumber, string guid, optional string TrackStateChunk)

Description:

sets the track-id, which must be a valid GUID, of a track or a TrackStateChunk.

returns false in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk
string guid a valid GUID. Can be generated with the native Reaper-function reaper.genGuid()
optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1

Returnvalues:
boolean retval true, if successful, false if unsuccessful
string TrackStateChunk the altered TrackStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetTrackINQState

Functioncall:
Lua: boolean retval, string TrackStateChunk = ultraschall.SetTrackINQState(integer tracknumber, integer quantMIDI, integer quantPOS, integer quantNoteOffs, number quantToFractBeat, integer quantStrength, integer swingStrength, integer quantRangeMin, integer quantRangeMax, optional string TrackStateChunk)

Description:

Sets INQ-state, mostly the quantize-settings for MIDI, of a track or a TrackStateChunk, as set in the "Track: View track recording settings (MIDI quantize, file format/path) for last touched track"-dialog (action 40604)

returns false in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk
integer quantMIDI quantize MIDI; 0 or 1
integer quantPOS quantize to position; -1,prev; 0, nearest; 1, next
integer quantNoteOffs quantize note-offs; 0 or 1
number quantToFractBeat quantize to (fraction of beat)
integer quantStrength quantize strength; -128 to 127
integer swingStrength swing strength; -128 to 127
integer quantRangeMin quantize range minimum; -128 to 127
integer quantRangeMax quantize range maximum; -128 to 127
optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1

Returnvalues:
boolean retval true, if successful, false if unsuccessful
string TrackStateChunk the altered TrackStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetTrackIPhaseState

Functioncall:
Lua: boolean retval, string TrackStateChunk = ultraschall.SetTrackIPhaseState(integer tracknumber, integer iphasestate, optional string TrackStateChunk)

Description:

Sets IPhase, the Phase-Buttonstate of the track or a TrackStateChunk.

returns false in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk
integer iphasestate 0-off, <> than 0-on
optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1

Returnvalues:
boolean retval true, if successful, false if unsuccessful
string TrackStateChunk the altered TrackStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetTrackIcon_Filename

Functioncall:
Lua: boolean retval, string TrackStateChunk = ultraschall.SetTrackIcon_Filename(integer tracknumber, string Iconfilename_with_path, optional string TrackStateChunk)

Description:

Sets TRACKIMGFN, the trackicon-filename with path, of a track or a TrackStateChunk.

returns false in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; -1 if you want to use parameter TrackStateChunk
string Iconfilename_with_path filename+path of the imagefile to use as the trackicon; "", to remove track-icon
optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1

Returnvalues:
boolean retval true, if successful, false if unsuccessful
string TrackStateChunk the altered TrackStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetTrackIsBusState

Functioncall:
Lua: boolean retval, string TrackStateChunk = ultraschall.SetTrackIsBusState(integer tracknumber, integer busstate1, integer busstate2, optional string TrackStateChunk)

Description:

Sets ISBUS-state of the track or a TrackStateChunk; if it's a folder track.

returns false in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; -1 if you want to use parameter TrackStateChunk
integer busstate1=0, integer busstate2=0 track is no folder
integer busstate1=1, integer busstate2=1 track is a folder
integer busstate1=1, integer busstate2=2 track is a folder but view of all subtracks not compactible
1 - track is last track in folder(no tracks of subfolders follow)
optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1

Returnvalues:
boolean retval true, if successful, false if unsuccessful
string TrackStateChunk the altered TrackStateChunk



^ Reaper version 5.40 Ultraschall version 4.1SetTrackLayoutNames

Functioncall:
Lua: boolean retval, string TrackStateChunk = ultraschall.SetTrackLayoutNames(integer tracknumber, string TCP_Layoutname, string MCP_Layoutname, optional string TrackStateChunk)

Description:

Sets LAYOUTS, the MCP and TCP-layout by name of the layout as defined in the theme, of a track or a TrackStateChunk.

returns false in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk
string TCP_Layoutname name of the TrackControlPanel-Layout from the theme to use
string MCP_Layoutname name of the MixerControlPanel-Layout from the theme to use
optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1

Returnvalues:
boolean retval true, if successful, false if unsuccessful
string TrackStateChunk the altered TrackStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetTrackLockState

Functioncall:
Lua: boolean retval, string TrackStateChunk = ultraschall.SetTrackLockState(integer tracknumber, integer LockedState, optional string TrackStateChunk)

Description:

Sets LOCK-State, as set by the menu entry Lock Track Controls, of a track or a TrackStateChunk.

returns false in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; -1 if you want to use parameter TrackStateChunk
integer LockedState 1 - locked, 0 - unlocked
optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1

Returnvalues:
boolean retval true, if successful, false if unsuccessful
string TrackStateChunk the altered TrackStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetTrackMIDIOutState

Functioncall:
Lua: boolean retval, string TrackStateChunk = ultraschall.SetTrackMIDIOutState(integer tracknumber, integer MIDIOutState, optional string TrackStateChunk)

Description:

Sets MIDIOUT, the state of MIDI out for this track or a TrackStateChunk.

returns false in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk
integer MIDIOutState %-1 no output 416 %- microsoft GS wavetable synth-send to original channels 417-432 %- microsoft GS wavetable synth-send to channel state minus 416 -31 %- no Output, send to original channel 1 -16 %- no Output, send to original channel 16
optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1

Returnvalues:
boolean retval true, if successful, false if unsuccessful
string TrackStateChunk the altered TrackStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetTrackMainSendState

Functioncall:
Lua: boolean retval, optional string TrackStateChunk = ultraschall.SetTrackMainSendState(integer tracknumber, integer MainSendOn, integer ParentChannels, optional string TrackStateChunk)

Description:

Sets MAINSEND, as set in the routing-settings, of a track or a TrackStateChunk.

returns false in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk
integer MainSendOn on(1) or off(0)
integer ParentChannels the ParentChannels(0-64), interpreted as beginning with ParentChannels to ParentChannels+NCHAN
optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1

Returnvalues:
boolean retval true, if successful, false if unsuccessful
optional string TrackStateChunk the altered TrackStateChunk, if tracknumber=-1



^ Reaper version 5.40 Ultraschall version 4.00SetTrackMidiBankProgFn

Functioncall:
Lua: boolean retval, string TrackStateChunk = ultraschall.SetTrackMidiBankProgFn(integer tracknumber, string MIDIBankProgFn, optional string TrackStateChunk)

Description:

sets the filename+path to the MIDI-Bank-Prog-file of a track or a TrackStateChunk.

returns false in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk
string MIDIBankProgFn filename+path to the MIDI-Bank-Prog-file; "", to remove it
optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1

Returnvalues:
boolean retval true, if successful, false if unsuccessful
string TrackStateChunk the altered TrackStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetTrackMidiCTL

Functioncall:
Lua: boolean retval, string TrackStateChunk = ultraschall.SetTrackMidiCTL(integer tracknumber, integer LinkedToMidiChannel, integer unknown, optional string TrackStateChunk)

Description:

sets MIDICTL-state, the linkage to Midi-Channels of a track or a TrackStateChunk.

returns false in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk
integer LinkedToMidiChannel unknown; nil, to remove this setting completely
integer unknown unknown
optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1

Returnvalues:
boolean retval true, if successful, false if unsuccessful
string TrackStateChunk the altered TrackStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetTrackMidiColorMapFn

Functioncall:
Lua: boolean retval, string TrackStateChunk = ultraschall.SetTrackMidiColorMapFn(integer tracknumber, string MIDI_ColorMapFN, optional string TrackStateChunk)

Description:

sets the filename+path to the MIDI-ColorMap-graphicsfile of a track or a TrackStateChunk.

returns false in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk
string MIDI_ColorMapFN filename+path to the MIDI-ColorMap-file; "", to remove it
optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1

Returnvalues:
boolean retval true, if successful, false if unsuccessful
string TrackStateChunk the altered TrackStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetTrackMidiInputChanMap

Functioncall:
Lua: boolean retval, string TrackStateChunk = ultraschall.SetTrackMidiInputChanMap(integer tracknumber, integer InputChanMap, optional string TrackStateChunk)

Description:

Sets MIDI_INPUT_CHANMAP, as set in the Input-MIDI->Map Input to Channel menu, of a track or a TrackStateChunk.

returns false in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk
integer InputChanMap 0 for channel 1, 2 for channel 2, etc. -1 if not existing; nil, to remove MidiInputChanMap
optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1

Returnvalues:
boolean retval true, if successful, false if unsuccessful
string TrackStateChunk the altered TrackStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetTrackMidiTextStrFn

Functioncall:
Lua: boolean retval, string TrackStateChunk = ultraschall.SetTrackMidiTextStrFn(integer tracknumber, string MIDITextStrFn, optional string TrackStateChunk)

Description:

sets the filename+path to the MIDI-Text-Str-file of a track or a TrackStateChunk.

returns false in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk
string MIDITextStrFn filename+path to the MIDI-Text-Str-file; "", to remove it
optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1

Returnvalues:
boolean retval true, if successful, false if unsuccessful
string TrackStateChunk the altered TrackStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetTrackMuteSoloState

Functioncall:
Lua: boolean retval, string TrackStateChunk = ultraschall.SetTrackMuteSoloState(integer tracknumber, integer Mute, integer Solo, integer SoloDefeat, optional string TrackStateChunk)

Description:

Set the Track Mute/Solo/Solodefeat for a track or a TrackStateChunk.
Has no real effect on master track.

returns false in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk
integer Mute Mute set to 0 - Mute off, 1 - Mute On
integer Solo Solo set to 0 - Solo off, 1 - Solo ignore routing, 2 - Solo on
integer SoloDefeat SoloDefeat set to 0 - off, 1 - on
optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1

Returnvalues:
boolean retval true, if successful, false if unsuccessful
string TrackStateChunk the altered TrackStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetTrackNChansState

Functioncall:
Lua: boolean retval, string TrackStateChunk = ultraschall.SetTrackNChansState(integer tracknumber, integer NChans, optional string TrackStateChunk)

Description:

Sets NCHAN-state; the number of channels in this track or a TrackStateChunk, as set in the routing.

returns false in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk
integer NChans 2 to 64, counted every second channel (2,4,6,8,etc) with stereo-tracks. Unknown, if Multichannel and Mono-tracks count differently.
optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1

Returnvalues:
boolean retval true, if successful, false if unsuccessful
string TrackStateChunk the altered TrackStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetTrackName

Functioncall:
Lua: boolean retval, string TrackStateChunk = ultraschall.SetTrackName(integer tracknumber, string name, optional string TrackStateChunk)

Description:

Set the name of a track or a trackstatechunk.

returns false in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk
string name new name of the track
optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1

Returnvalues:
boolean retval true, if successful, false if unsuccessful
string TrackStateChunk the altered TrackStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetTrackPanMode

Functioncall:
Lua: boolean retval, string TrackStateChunk = ultraschall.SetTrackPanMode(integer tracknumber, integer panmode, optional string TrackStateChunk)

Description:

sets the panmode for a track or a TrackStateChunk.

returns false in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk
integer panmode the Panmode of the track nil - Project Default 0 - Reaper 3.x balance (deprecated) 3 - Stereo Balance/ Mono Pan(Default) 5 - Stereo Balance 6 - Dual Pan 7 - unknown mode
optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1

Returnvalues:
boolean retval true, if successful, false if unsuccessful
string TrackStateChunk the altered TrackStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetTrackPeakColorState

Functioncall:
Lua: boolean retval, string TrackStateChunk = ultraschall.SetTrackPeakColorState(integer tracknumber, integer colorvalue, optional string TrackStateChunk)

Description:

Set the color of the track or a TrackStateChunk.

returns false in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk
integer colorvalue the color for the track
optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1

Returnvalues:
boolean retval true, if successful, false if unsuccessful
string TrackStateChunk the altered TrackStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetTrackPerfState

Functioncall:
Lua: boolean retval, string TrackStateChunk = ultraschall.SetTrackPerfState(integer tracknumber, integer Perf, optional string TrackStateChunk)

Description:

Sets PERF, the TrackPerformance-State of a track or a TrackStateChunk.

returns false in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; -1 if you want to use parameter TrackStateChunk
integer Perf performance-state 0 - allow anticipative FX + allow media buffering 1 - allow anticipative FX + prevent media buffering 2 - prevent anticipative FX + allow media buffering 3 - prevent anticipative FX + prevent media buffering
optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1

Returnvalues:
boolean retval true, if successful, false if unsuccessful
string TrackStateChunk the altered TrackStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetTrackRecCFG

Functioncall:
Lua: boolean retval, string TrackStateChunk = ultraschall.SetTrackRecCFG(integer tracknumber, string reccfg_string, integer reccfg_nr, optional string TrackStateChunk)

Description:

sets the RECCFG of a track or a TrackStateChunk.

returns false in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk
string reccfg_string the string, that encodes the recording configuration of the track
integer reccfgnr the number of the recording-configuration of the track; -1, removes the reccfg-setting 0, use default project rec-setting 1, use track-customized rec-setting, as set in the "Track: View track recording settings (MIDI quantize, file format/path) for last touched track"-dialog (action 40604)
optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1

Returnvalues:
boolean retval true, if successful, false if unsuccessful
string TrackStateChunk the altered TrackStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetTrackRecState

Functioncall:
Lua: boolean retval, string TrackStateChunk = ultraschall.SetTrackRecState(integer tracknumber, integer ArmState, integer InputChannel, integer MonitorInput, integer RecInput, integer MonitorWhileRec, integer presPDCdelay, integer RecordingPath, optional string TrackStateChunk)

Description:

Sets REC, that sets the Recording-state of the track or a TrackStateChunk.

returns false in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk
integer ArmState set to 1(armed) or 0(unarmed)
integer InputChannel the InputChannel -1 - No Input 1-16(more?) - Mono Input Channel 1024 - Stereo Channel 1 and 2 1026 - Stereo Channel 3 and 4 1028 - Stereo Channel 5 and 6 ... 5056 - Virtual MIDI Keyboard all Channels 5057 - Virtual MIDI Keyboard Channel 1 ... 5072 - Virtual MIDI Keyboard Channel 16 5088 - All MIDI Inputs - All Channels 5089 - All MIDI Inputs - Channel 1 ... 5104 - All MIDI Inputs - Channel 16
integer Monitor Input 0 monitor off, 1 monitor on, 2 monitor on tape audio style
integer RecInput the rec-input type 0 input(Audio or Midi) 1 Record Output Stereo 2 Disabled, Input Monitoring Only 3 Record Output Stereo, Latency Compensated 4 Record Output MIDI 5 Record Output Mono 6 Record Output Mono, Latency Compensated 7 MIDI overdub 8 MIDI replace 9 MIDI touch replace 10 Record Output Multichannel 11 Record Output Multichannel, Latency Compensated 12 Record Input Force Mono 13 Record Input Force Stereo 14 Record Input Force Multichannel 15 Record Input Force MIDI 16 MIDI latch replace
integer MonitorWhileRec Monitor Trackmedia when recording, 0 is off, 1 is on
integer presPDCdelay preserve PDC delayed monitoring in media items
integer RecordingPath 0 Primary Recording-Path only, 1 Secondary Recording-Path only, 2 Primary Recording Path and Secondary Recording Path(for invisible backup)
optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1

Returnvalues:
boolean retval true, if successful, false if unsuccessful
string TrackStateChunk the altered TrackStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetTrackScore

Functioncall:
Lua: boolean retval, string TrackStateChunk = ultraschall.SetTrackScore(integer tracknumber, integer unknown1, integer unknown2, number unknown3, number unknown4, optional string TrackStateChunk)

Description:

sets the SCORE of a track or a TrackStateChunk.

set unknown1 to unknown4 to 0 to remove the entry from the TrackStateChunk

returns false in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk
integer unknown1 unknown
integer unknown2 unknown
number unknown3 unknown
number unknown4 unknown
optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1

Returnvalues:
boolean retval true, if successful, false if unsuccessful
string TrackStateChunk the altered TrackStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetTrackShowInMixState

Functioncall:
Lua: boolean retval, string TrackStateChunk = ultraschall.SetTrackShowInMixState(integer tracknumber, integer MCPvisible, number MCP_FX_visible, number MCP_TrackSendsVisible, integer TCPvisible, number ShowInMix5, integer ShowInMix6, integer ShowInMix7, integer ShowInMix8, optional string TrackStateChunk)

Description:

Sets SHOWINMIX, that sets visibility of track or TrackStateChunk in MCP and TCP.

returns false in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk
integer MCPvisible 0 invisible, 1 visible
number MCP_FX_visible 0 visible, 1 FX-Parameters visible, 2 invisible
number MCPTrackSendsVisible 0 & 1.1 and higher TrackSends in MCP visible, every other number makes them invisible
integer TCPvisible 0 track is invisible in TCP, 1 track is visible in TCP with Master-Track, 1 shows all active envelopes, 0 hides all active envelopes
number ShowInMix5 unknown
integer ShowInMix6 unknown
integer ShowInMix7 unknown
integer ShowInMix8 unknown
optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1

Returnvalues:
boolean retval true, if successful, false if unsuccessful
string TrackStateChunk the altered TrackStateChunk



^ Reaper version 5.52 Ultraschall version 4.00SetTrackStateChunk_Tracknumber

Functioncall:
Lua: boolean retval = ultraschall.SetTrackStateChunk_Tracknumber(integer tracknumber, string trackstatechunk, boolean undo)

Description:

Sets the trackstatechunk for track tracknumber. Undo flag is a performance/caching hint.

returns false in case of an error

Parameters:
integer tracknumber the tracknumber, 0 for master track, 1 for track 1, 2 for track 2, etc.
string trackstatechunk the trackstatechunk, you want to set this track with
boolean undo Undo flag is a performance/caching hint.

Returnvalues:
boolean retval true in case of success; false in case of error



^ Reaper version 5.40 Ultraschall version 4.00SetTrackVUState

Functioncall:
Lua: boolean retval, string TrackStateChunk = ultraschall.SetTrackVUState(integer tracknumber, integer VUState, optional string TrackStateChunk)

Description:

Sets VU-state of a track or a TrackStateChunk; the way metering shows.

Has no real effect on master track.

returns false in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk
integer VUState 0 MultiChannelMetering is off, 2 MultichannelMetering is on, 3 Metering is off;seems to have no effect on MasterTrack
optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1

Returnvalues:
boolean retval true, if successful, false if unsuccessful
string TrackStateChunk the altered TrackStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetTrackVolPan

Functioncall:
Lua: boolean retval, string TrackStateChunk = ultraschall.SetTrackVolPan(integer tracknumber, number Vol, number Pan, number OverridePanLaw, number unknown, number unknown2, optional string TrackStateChunk)

Description:

sets the VOLPAN-state of a track or a TrackStateChunk.

returns false in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master-track; -1, if you want to use parameter TrackStateChunk
number Vol Volume Settings; -Inf dB(0) to +12dB (3.98107170553497)
number Pan Pan Settings; -1(-100%); 0(center); 1(100% R)
number OverridePanLaw Override Default Pan Track Law; 0dB(1) to -144dB(0.00000006309573)
number unknown unknown
number unknown2 unknown
optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1

Returnvalues:
boolean retval true, if successful, false if unsuccessful
string TrackStateChunk the altered TrackStateChunk



^ Reaper version 5.40 Ultraschall version 4.00SetTrackWidth

Functioncall:
Lua: boolean retval, string TrackStateChunk = ultraschall.SetTrackWidth(integer tracknumber, number width, optional string TrackStateChunk)

Description:

sets the width of a track or a TrackStateChunk.

returns false in case of an error

Parameters:
integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk
number width width of the track, from -1(-100%) to 1(+100%)
optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1

Returnvalues:
boolean retval true, if successful, false if unsuccessful
string TrackStateChunk the altered TrackStateChunk



^ Reaper version 6.05 Ultraschall version 4.1SetTrack_LastTouched

Functioncall:
Lua: boolean retval = ultraschall.SetTrack_LastTouched(integer track)

Description:

Sets a track to be last touched track.

returns false in case of an error

Parameters:
integer track the track, which you want to set as last touched track

Returnvalues:
boolean retval true, setting was successful; false, setting was not successful



^ Reaper version 6.05 Ultraschall version 4.1SetTrack_Trackheight_Force

Functioncall:
Lua: boolean retval = ultraschall.SetTrack_Trackheight_Force(integer track, integer trackheight)

Description:

Sets the trackheight of a track. Forces trackheight beyond limits set by the theme.

returns false in case of an error

Parameters:
integer track the track, which you want to set the height of
integer trackheigt the trackheight in pixels, 0 and higher

Returnvalues:
boolean retval true, collapsing was successful; false, collapsing was not successful



^ Reaper version 5.40 Ultraschall version 4.00SetTracksSelected

Functioncall:
Lua: integer retval = ultraschall.SetTracksSelected(string trackstring, boolean reset)

Description:

Sets tracks in trackstring selected. If reset is set to true, then the previous selection will be discarded.

returns -1 in case of error

Parameters:
string trackstring a string with the tracknumbers, separated by a comma; nil or "", deselects all
boolean reset true, any previous selection will be discarded; false, it will be kept

Returnvalues:
integer retval returns -1 in case of error



^ Reaper version 5.40 Ultraschall version 4.00SetTracksToLocked

Functioncall:
Lua: boolean retval = ultraschall.SetTracksToLocked(string trackstring, boolean reset)

Description:

sets tracks in trackstring locked.
returns false in case or error, true in case of success

Parameters:
string trackstring the tracknumbers, separated with a ,
boolean reset reset lockedstate of other tracks true - resets the locked-state of all tracks not included in trackstring false - the lockedstate of tracks not in trackstring is retained

Returnvalues:
boolean retval true in case of success, false in case of error



^ Reaper version 5.40 Ultraschall version 4.00SetTracksToUnlocked

Functioncall:
Lua: boolean retval = ultraschall.SetTracksToUnlocked(string trackstring)

Description:

sets tracks in trackstring unlocked.
returns false in case or error, true in case of success

Parameters:
string trackstring the tracknumbers, separated with a ,

Returnvalues:
boolean retval true in case of success, false in case of error




^ Reaper version 6.02 JS version 0.963 Ultraschall version 4.1TrackManager_ClearFilter

Functioncall:
Lua: boolean retval = ultraschall.TrackManager_ClearFilter()

Description:

clears the filter of the trackmanager, if the window is opened.

returns false if Track Manager is closed

Returnvalues:
boolean retval true, clearing was successful; false, clearing was unsuccessful



^ Reaper version 6.02 JS version 0.963 Ultraschall version 4.1TrackManager_OpenClose

Functioncall:
Lua: boolean retval, optional boolean new_toggle_state = ultraschall.TrackManager_OpenClose(optional boolean toggle)

Description:

opens/closes the trackmanager

returns false in case of an error

Parameters:
optional boolean toggle true, open the track manager; false, close the track manager; nil, just toggle open/close of the trackmanager

Returnvalues:
boolean retval true, opening/closing was successful; false, there was an error
optional boolean new_toggle_state true, track manager is opened; false, track manager is closed



^ Reaper version 6.02 JS version 0.963 Ultraschall version 4.1TrackManager_SelectionFromList

Functioncall:
Lua: boolean retval = ultraschall.TrackManager_SelectionFromList()

Description:

sets trackselection from trackmanager into the trackselection of the project, if the trackmanager-window is opened.

returns false if Track Manager is closed

Returnvalues:
boolean retval true, setting selection was successful; false, setting selection was unsuccessful



^ Reaper version 6.02 JS version 0.963 Ultraschall version 4.1TrackManager_SelectionFromProject

Functioncall:
Lua: boolean retval = ultraschall.TrackManager_SelectionFromProject()

Description:

sets trackselection in trackmanager to the trackselection from the project, if the trackmanager-window is opened.

returns false if Track Manager is closed

Returnvalues:
boolean retval true, setting selection was successful; false, setting selection was unsuccessful



^ Reaper version 6.02 JS version 0.963 Ultraschall version 4.1TrackManager_SetFilter

Functioncall:
Lua: boolean retval = ultraschall.TrackManager_SetFilter(string filter)

Description:

sets filter of the trackmanager, if the trackmanager-window is opened.

returns false if Track Manager is closed

Parameters:
string filter the new filter-phrase to be set

Returnvalues:
boolean retval true, setting filter was successful; false, setting filter was unsuccessful



^ Reaper version 6.02 JS version 0.963 Ultraschall version 4.1TrackManager_ShowAll

Functioncall:
Lua: boolean retval = ultraschall.TrackManager_ShowAll()

Description:

shows all tracks, if the window is opened.

returns false if Track Manager is closed

Returnvalues:
boolean retval true, showall was successful; false, showall was unsuccessful




^ Reaper version 5.95 Ultraschall version 4.00pause_follow_one_cycle

Functioncall:
Lua: ultraschall.pause_follow_one_cycle()

Description:

Skips auto-follow-off-checking-script for one cycle.
FollowMode in Ultraschall turns on Autoscrolling in a useable way. In addition, under certain circumstances, followmode will be turned off automatically.
If you experience this but want to avoid the follow-off-functionality, use this function.

This function is only relevant, if you want to develop scripts that work perfectly within the Ultraschall.fm-extension.




^ Reaper version 5.40 Ultraschall version 4.00GetAllAUXSendReceives2

Functioncall:
Lua: table AllAUXSendReceives, integer number_of_tracks = ultraschall.GetAllAUXSendReceives2()

Description:

returns a table with all AUX-SendReceive-settings of all tracks, excluding master-track

like GetAllAUXSendReceives, but returns the type of a track as well

returned table is of structure: table["AllAUXSendReceive"]=true - signals, this is an AllAUXSendReceive-table. Don't alter! table["number_of_tracks"] - the number of tracks in this table, from track 1 to track n table[tracknumber]["type"] - type of the track, SoundBoard, StudioLink, StudioLinkOnAir or Other table[tracknumber]["AUXSendReceives_count"] - the number of AUXSendReceives of tracknumber, beginning with 1 table[tracknumber][AUXSendReceivesIndex]["recv_tracknumber"] - the track, from which to receive audio in this AUXSendReceivesIndex of tracknumber table[tracknumber][AUXSendReceivesIndex]["post_pre_fader"] - the setting of post-pre-fader of this AUXSendReceivesIndex of tracknumber table[tracknumber][AUXSendReceivesIndex]["volume"] - the volume of this AUXSendReceivesIndex of tracknumber table[tracknumber][AUXSendReceivesIndex]["pan"] - the panning of this AUXSendReceivesIndex of tracknumber table[tracknumber][AUXSendReceivesIndex]["mute"] - the mute-setting of this AUXSendReceivesIndex of tracknumber table[tracknumber][AUXSendReceivesIndex]["mono_stereo"] - the mono/stereo-button-setting of this AUXSendReceivesIndex of tracknumber table[tracknumber][AUXSendReceivesIndex]["phase"] - the phase-setting of this AUXSendReceivesIndex of tracknumber table[tracknumber][AUXSendReceivesIndex]["chan_src"] - the audiochannel-source of this AUXSendReceivesIndex of tracknumber table[tracknumber][AUXSendReceivesIndex]["snd_src"] - the send-to-channel-target of this AUXSendReceivesIndex of tracknumber table[tracknumber][AUXSendReceivesIndex]["pan_law"] - pan-law, default is -1 table[tracknumber][AUXSendReceivesIndex]["midichanflag"] - the Midi-channel of this AUXSendReceivesIndex of tracknumber, leave it 0 table[tracknumber][AUXSendReceivesIndex]["automation"] - the automation-mode of this AUXSendReceivesIndex of tracknumber

See GetTrackAUXSendReceives for more details on the individual settings, stored in the entries.


Returnvalues:
table AllAUXSendReceives a table with all SendReceive-entries of the current project.
integer number_of_tracks the number of tracks in the AllMainSends-table



^ Reaper version 5.40 Ultraschall version 4.00GetAllHWOuts2

Functioncall:
Lua: table AllHWOuts, integer number_of_tracks = ultraschall.GetAllHWOuts2()

Description:

returns a table with all HWOut-settings of all tracks, including master-track(track index: 0)

like GetAllHWOuts but includes the type of a track as well

returned table is of structure: table["HWOuts"]=true - signals, this is a HWOuts-table; don't change that! table["number_of_tracks"] - the number of tracks in this table, from track 0(master) to track n table[tracknumber]["type"] - type of the track, SoundBoard, StudioLink, StudioLinkOnAir or Other table[tracknumber]["HWOut_count"] - the number of HWOuts of tracknumber, beginning with 1 table[tracknumber][HWOutIndex]["outputchannel"] - the number of outputchannels of this HWOutIndex of tracknumber table[tracknumber][HWOutIndex]["post_pre_fader"] - the setting of post-pre-fader of this HWOutIndex of tracknumber table[tracknumber][HWOutIndex]["volume"] - the volume of this HWOutIndex of tracknumber table[tracknumber][HWOutIndex]["pan"] - the panning of this HWOutIndex of tracknumber table[tracknumber][HWOutIndex]["mute"] - the mute-setting of this HWOutIndex of tracknumber table[tracknumber][HWOutIndex]["phase"] - the phase-setting of this HWOutIndex of tracknumber table[tracknumber][HWOutIndex]["source"] - the source/input of this HWOutIndex of tracknumber table[tracknumber][HWOutIndex]["pan\law"] - pan-law, default is -1 table[tracknumber][HWOutIndex]["automationmode"] - the automation-mode of this HWOutIndex of tracknumber

See GetTrackHWOut for more details on the individual settings, stored in the entries.


Returnvalues:
table AllHWOuts a table with all HWOuts of the current project.
integer number_of_tracks the number of tracks in the AllMainSends-table



^ Reaper version 5.40 Ultraschall version 4.00GetAllMainSendStates2

Functioncall:
Lua: table AllMainSends, integer number_of_tracks = ultraschall.GetAllMainSendStates2()

Description:

returns a table with all MainSend-settings of all tracks, excluding master-track.

like GetAllMainSendStates, but includes the type of the track as well.

The MainSend-settings are the settings, if a certain track sends it's signal to the Master Track

returned table is of structure: Table["number_of_tracks"] - The number of tracks in this table, from track 1 to track n Table[tracknumber]["type"] - type of the track, SoundBoard, StudioLink, StudioLinkOnAir or Other Table[tracknumber]["MainSend"] - Send to Master on(1) or off(1) Table[tracknumber]["ParentChannels"] - the parent channels of this track

See GetTrackMainSendState for more details on the individual settings, stored in the entries.


Returnvalues:
table AllMainSends a table with all AllMainSends-entries of the current project.
integer number_of_tracks the number of tracks in the AllMainSends-table




^ Reaper version 5.965 Ultraschall version 4.00SoundBoard_Play

Functioncall:
Lua: ultraschall.Soundboard_Play(integer playerindex)

Description:

Starts playing of a certain player in the Ultraschall-SoundBoard

Needs ultraschall-Soundboard installed to be useable!

Track(s) who hold the soundboard must be recarmed and recinput set to MIDI or VKB.


Parameters:
integer playerindex the player of the SoundBoard; from 1-24



^ Reaper version 5.965 Ultraschall version 4.00SoundBoard_PlayList_CurrentIndex

Functioncall:
Lua: integer current_playlist_position = ultraschall.Soundboard_PlayList_CurrentIndex()

Description:

Returns the position within the playlist of the Ultraschall Soundboard.

Playlist means, the player within all players of the Ultraschall-Soundboard.

Needs ultraschall-Soundboard installed to be useable!

Track(s) who hold the soundboard must be recarmed and recinput set to MIDI or VKB.

For other playlist-related functions, see also SoundBoard_PlayList_SetIndex, SoundBoard_PlayList_Next and SoundBoard_PlayList_Previous


Returnvalues:
integer current_playlist_position the position in the playlist



^ Reaper version 5.965 Ultraschall version 4.00SoundBoard_PlayList_Next

Functioncall:
Lua: ultraschall.Soundboard_PlayList_Next()

Description:

Stops current player and starts the next player within the playlist of the Ultraschall-Soundboard.

Needs ultraschall-Soundboard installed to be useable!

Track(s) who hold the soundboard must be recarmed and recinput set to MIDI or VKB.

For other playlist-related functions, see also Soundboard_PlayList_CurrentIndex, SoundBoard_PlayList_SetIndex and SoundBoard_PlayList_Previous




^ Reaper version 5.965 Ultraschall version 4.00SoundBoard_PlayList_Previous

Functioncall:
Lua: ultraschall.Soundboard_PlayList_Previous()

Description:

Stops current player and starts the previous player within the playlist of the Ultraschall-Soundboard.

When the previous would be before the first, it will not do anything.

Needs ultraschall-Soundboard installed to be useable!

Track(s) who hold the soundboard must be recarmed and recinput set to MIDI or VKB.

For other playlist-related functions, see also Soundboard_PlayList_CurrentIndex, SoundBoard_PlayList_SetIndex and SoundBoard_PlayList_Next.




^ Reaper version 5.965 Ultraschall version 4.00SoundBoard_PlayList_SetIndex

Functioncall:
Lua: ultraschall.Soundboard_PlayList_SetIndex(integer playerindex, optional boolean play, optional boolean stop_all_others)

Description:

sets a new playerindex within the playlist of the Ultraschall-Soundboard.

You can optionally start the player and stop all others currently playing.

Needs ultraschall-Soundboard installed to be useable!

Track(s) who hold the soundboard must be recarmed and recinput set to MIDI or VKB.

For other playlist-related functions, see also Soundboard_PlayList_CurrentIndex, SoundBoard_PlayList_Next and SoundBoard_PlayList_Previous


Parameters:
integer playerindex the player of the SoundBoard; from 1-24
optional boolean play true, start playing of this player immediately; nil or false, don't start playing
optional boolean stop_all_others true, stop all other players currently playing; nil or false, don't stop anything



^ Reaper version 5.965 Ultraschall version 4.00SoundBoard_Stop

Functioncall:
Lua: ultraschall.Soundboard_Stop(integer playerindex)

Description:

Stops playing of a certain player in the Ultraschall-SoundBoard

Needs ultraschall-Soundboard installed to be useable!

Track(s) who hold the soundboard must be recarmed and recinput set to MIDI or VKB.


Parameters:
integer playerindex the player of the SoundBoard; from 1-24



^ Reaper version 5.965 Ultraschall version 4.00SoundBoard_StopAllSounds

Functioncall:
Lua: ultraschall.Soundboard_StopAllSounds()

Description:

Stops all sounds currently playing in the Ultraschall-SoundBoard

Needs ultraschall-Soundboard installed to be useable!

Track(s) who hold the soundboard must be recarmed and recinput set to MIDI or VKB.




^ Reaper version 5.965 Ultraschall version 4.00SoundBoard_TogglePlayPause

Functioncall:
Lua: ultraschall.Soundboard_TogglePlayPause(integer playerindex)

Description:

Toggles between Play and Pause of a certain player in the Ultraschall-SoundBoard

Needs ultraschall-Soundboard installed to be useable!

Track(s) who hold the soundboard must be recarmed and recinput set to MIDI or VKB.


Parameters:
integer playerindex the player of the SoundBoard; from 1-24



^ Reaper version 5.965 Ultraschall version 4.00SoundBoard_TogglePlayStop

Functioncall:
Lua: ultraschall.Soundboard_TogglePlayStop(integer playerindex)

Description:

Toggles between Play and Stop of a certain player in the Ultraschall-SoundBoard

Needs ultraschall-Soundboard installed to be useable!

Track(s) who hold the soundboard must be recarmed and recinput set to MIDI or VKB.


Parameters:
integer playerindex the player of the SoundBoard; from 1-24



^ Reaper version 5.965 Ultraschall version 4.00SoundBoard_TogglePlay_FadeOutStop

Functioncall:
Lua: ultraschall.Soundboard_TogglePlay_FadeOutStop(integer playerindex)

Description:

Toggles between Play and FadeOut with Stop of a certain player in the Ultraschall-SoundBoard

Needs ultraschall-Soundboard installed to be useable!

Track(s) who hold the soundboard must be recarmed and recinput set to MIDI or VKB.


Parameters:
integer playerindex the player of the SoundBoard; from 1-24



^ Reaper version 6.02 Ultraschall version 4.00Soundboard_PlayFadeIn

Functioncall:
Lua: ultraschall.Soundboard_PlayFadeIn(integer playerindex)

Description:

Starts a sound with a fade-in of a certain player in the Ultraschall-SoundBoard

Needs ultraschall-Soundboard installed to be useable!

Track(s) who hold the soundboard must be recarmed and recinput set to MIDI or VKB.


Parameters:
integer playerindex the player of the SoundBoard; from 1-24




^ Reaper version 5.95 Ultraschall version 4.00GetTypeOfTrack

Functioncall:
Lua: string type, boolean multiple = ultraschall.GetTypeOfTrack(integer tracknumber)

Description:

Returns the tracktype of a specific track. Will return the type of the first valid SoundBoard, StudioLink, StudioLinkOnAir-plugin in the track-fx-chain.
If there are multiple valid plugins and therefore types, the second retval multiple will be set to true, else to false.

Only relevant in Ultraschall-installations

returns "", false in case of an error

Parameters:
integer tracknumber the tracknumber to check for; 0, for master-track; 1, for track 1; n for track n

Returnvalues:
string type Either "StudioLink", "StudioLinkOnAir", "SoundBoard" or "Other". "", in case of an error
boolean multiple true, the track has other valid plugins as well; false, it is a "pure typed" track



^ Reaper version 5.95 Ultraschall version 4.1IsTrackSoundboard

Functioncall:
Lua: boolean retval = ultraschall.IsTrackSoundboard(integer tracknumber)

Description:

Returns, if this track is a soundboard-track, means, contains an Ultraschall-Soundboard-plugin.

Only relevant in Ultraschall-installations

returns false in case of an error

Parameters:
integer tracknumber the tracknumber to check for; 0, for master-track; 1, for track 1; n for track n

Returnvalues:
boolean retval true, it is an Ultraschall-Soundboard-track; false, it is not



^ Reaper version 5.95 Ultraschall version 4.1IsTrackStudioLink

Functioncall:
Lua: boolean retval = ultraschall.IsTrackStudioLink(integer tracknumber)

Description:

Returns, if this track is a StudioLink-track, means, contains a StudioLink-Plugin

Only relevant in Ultraschall-installations

returns false in case of an error

Parameters:
integer tracknumber the tracknumber to check for; 0, for master-track; 1, for track 1; n for track n

Returnvalues:
boolean retval true, it is a StudioLink-track; false, it is not



^ Reaper version 5.95 Ultraschall version 4.1IsTrackStudioLinkOnAir

Functioncall:
Lua: boolean retval = ultraschall.IsTrackStudioLinkOnAir(integer tracknumber)

Description:

Returns, if this track is a StudioLinkOnAir-track, means, contains a StudioLinkOnAir-Plugin

Only relevant in Ultraschall-installations

returns false in case of an error

Parameters:
integer tracknumber the tracknumber to check for; 0, for master-track; 1, for track 1; n for track n

Returnvalues:
boolean retval true, it is a StudioLinkOnAir-track; false, it is not




^ Reaper version 5.40 Ultraschall version 4.00CountUSExternalState_key

Functioncall:
Lua: integer key_count = ultraschall.CountUSExternalState_key(string section, optional string filename)

Description:

returns the number of keys in the given [section] in ultraschall.ini

returns -1 in case of an error

Parameters:
string section the section of the ultraschall.ini, of which you want the number of keys.
optional string filename set this to a filename, if you don't want to use ultraschall.ini; it will be stored into the resource-path of Reaper, so no path needed nil, uses ultraschall.ini

Returnvalues:
integer key_count the number of keys within an ultraschall.ini-section



^ Reaper version 5.40 Ultraschall version 4.00CountUSExternalState_sec

Functioncall:
Lua: integer section_count = ultraschall.CountUSExternalState_sec(optional filename)

Description:

returns the number of [sections] in the ultraschall.ini

Returnvalues:
integer section_count the number of section in the ultraschall.ini
optional string filename set this to a filename, if you don't want to use ultraschall.ini; it will be stored into the resource-path of Reaper, so no path needed nil, uses ultraschall.ini



^ Reaper version 5.982 Ultraschall version 4.00DeleteUSExternalState

Functioncall:
Lua: boolean retval = ultraschall.DeleteUSExternalState(string section, string key, optional string filename)

Description:

Deletes an external state from the ultraschall.ini

Returns false in case of error.

Parameters:
string section the section, in which the to be deleted-key is located
string key the key to delete
optional string filename set this to a filename, if you don't want to use ultraschall.ini; it will be stored into the resource-path of Reaper, so no path needed nil, uses ultraschall.ini

Returnvalues:
boolean retval false in case of error; true in case of success



^ Reaper version 5.40 Ultraschall version 4.00EnumerateUSExternalState_key

Functioncall:
Lua: string key_name = ultraschall.EnumerateUSExternalState_key(string section, integer number, optional string filename)

Description:

returns name of a numberth key within a section in ultraschall.ini or nil if invalid or not existing

Parameters:
string section the section within ultraschall.ini, where the key is stored.
integer number the number of the key, whose name you want to know; 1 for the first one
optional string filename set this to a filename, if you don't want to use ultraschall.ini; it will be stored into the resource-path of Reaper, so no path needed nil, uses ultraschall.ini

Returnvalues:
string key_name the name ob the numberth key in ultraschall.ini.



^ Reaper version 5.40 Ultraschall version 4.00EnumerateUSExternalState_sec

Functioncall:
Lua: string section_name = ultraschall.EnumerateUSExternalState_sec(integer number, optional string filename)

Description:

returns name of the numberth section in ultraschall.ini or nil if invalid

Parameters:
integer number the number of section, whose name you want to know

Returnvalues:
string section_name the name of the numberth section within ultraschall.ini
optional string filename set this to a filename, if you don't want to use ultraschall.ini; it will be stored into the resource-path of Reaper, so no path needed nil, uses ultraschall.ini



^ Reaper version 5.40 Ultraschall version 4.00GetUSExternalState

Functioncall:
Lua: string value = ultraschall.GetUSExternalState(string section, string key, optional string filename)

Description:

gets a value from ultraschall.ini.

returns an empty string in case of an error

Parameters:
string section the section of the ultraschall.ini.
string key the key of which you want it's value.
optional string filename set this to a filename, if you don't want to use ultraschall.ini; it will be stored into the resource-path of Reaper, so no path needed nil, uses ultraschall.ini

Returnvalues:
string value the value itself; empty string in case of an error or no such extstate



^ Reaper version 5.40 Ultraschall version 4.00SetUSExternalState

Functioncall:
Lua: boolean retval = ultraschall.SetUSExternalState(string section, string key, string value, optional string filename)

Description:

stores values into ultraschall.ini. Returns true if successful, false if unsuccessful.

unlike other Ultraschall-API-functions, this converts the values, that you pass as parameters, into strings, regardless of their type

Parameters:
string section section within the ini-file
string key key within the section
string value the value itself
optional string filename set this to a filename, if you don't want to use ultraschall.ini; it will be stored into the resource-path of Reaper, so no path needed nil, uses ultraschall.ini

Returnvalues:
boolean retval true, if successful, false if unsuccessful.




^ Reaper version 5.40 Ultraschall version 4.1GetPreventUIRefreshCount

Functioncall:
Lua: integer current_preventcount = ultraschall.GetPreventUIRefreshCount()

Description:

This returns the number of times PreventUIRefresh has been called since scriptstart, minus possible restored UI refreshes.

Use RestoreUIRefresh to restore UI-refresh


Returnvalues:
integer current_preventcount the remaining number of times PreventUIRefresh has been called since scriptstart



^ Reaper version 5.40 Ultraschall version 4.1PreventUIRefresh

Functioncall:
Lua: integer current_preventcount = ultraschall.PreventUIRefresh()

Description:

like Reaper's own PreventUIRefresh, it allows you to prevent redrawing of the userinterface.

Unlike Reaper's own PreventUIRefresh, this will manage the preventcount itself.

this will not take into account usage of Reaper's own PreventUIRefresh, so you should use either

To reallow refreshing of the UI, use RestoreUIRefresh.


Returnvalues:
integer current_preventcount the number of times PreventUIRefresh has been called since scriptstart



^ Reaper version 5.40 Ultraschall version 4.1RestoreUIRefresh

Functioncall:
Lua: integer current_preventcount = ultraschall.RestoreUIRefresh(optional boolean full)

Description:

This reallows UI-refresh, after you've prevented it using PreventUIRefresh.

If you set parameter full=true, it will reset all PreventUIRefresh-calls since scriptstart at once, otherwise you need to call this as often until the returnvalue current_preventcount equals 0.

To get the remaining UI-refreshes to be restored, use GetPreventUIRefreshCount

If no UIRefreshes are available anymore, calling this function has no effect.


Parameters:
optional boolean full true, restores UIRefresh fully, no matter, how often PreventUIRefresh has been called before; false or nil, just reset one single call to PreventUIRefresh

Returnvalues:
integer current_preventcount the remaining number of times PreventUIRefresh has been called since scriptstart




^ Reaper version 5.40 Ultraschall version 4.00DeleteArrangeviewSnapshot

Functioncall:
Lua: integer retval = ultraschall.DeleteArrangeviewSnapshot(integer slot)

Description:

Deletes an ArrangeviewSnapshot-slot.

Returns -1 if the slot is unset or slot is an invalid value.

Parameters:
integer slot the slot for arrangeview-snapshot

Returnvalues:
integer retval -1 in case of an error; 0 in case of success



^ Reaper version 5.965 JS version 0.962 Ultraschall version 4.00GetVerticalScroll

Functioncall:
Lua: integer vertical_scroll_factor = ultraschall.GetVerticalScroll()

Description:

Gets the current vertical_scroll_value. The valuerange is dependent on the vertical zoom.

Returnvalues:
integer vertical_scroll_factor the vertical-scroll-factor



^ Reaper version 5.40 SWS version 2.9.7 Ultraschall version 4.00GetVerticalZoom

Functioncall:
Lua: integer vertical_zoom_factor = ultraschall.GetVerticalZoom()

Description:

Returns the vertical-zoom-factor.

Returns -1 in case of error

Returnvalues:
integer vertical_zoom_factor the current vertical zoom-factor



^ Reaper version 5.40 Ultraschall version 4.00IsValidArrangeviewSnapshot

Functioncall:
Lua: boolean retval = ultraschall.IsValidArrangeviewSnapshot(integer slot)

Description:

Checks, if an Arrangeview-snapshot-slot is valid(means set).

Returns false in case of error.

Parameters:
integer slot the slot for arrangeview-snapshot

Returnvalues:
boolean retval true, if Arrangeview-Snapshot is valid; false, if Arrangeview-Snapshot is not existing



^ Reaper version 5.40 SWS version 2.9.7 Ultraschall version 4.00RestoreArrangeviewSnapshot

Functioncall:
Lua: boolean retval, string description, number startposition, number endposition, integer vzoomfactor, number hzoomfactor, number vertical_scroll_factor = ultraschall.RestoreArrangeviewSnapshot(integer slot, optional boolean position, optional boolean vzoom, optional integer hcentermode, optional boolean verticalscroll)

Description:

Sets arrangeview to start/endposition and horizontal and vertical-zoom, as received from Arrangeview-Snapshot-slot. It returns the newly set start/endposition, vertical zoom, horizontal zoom and description of slot.

Returns false in case of error.

Parameters:
integer slot the slot for arrangeview-snapshot
optional boolean position nil or true, set arrange to stored start and endposition(and it's horizontal-zoom); false, set only horizontal-zoom
optional boolean vzoom nil or true, set vertical-zoom; false, don't set vertical zoom
optional integer hcentermode decides, what shall be in the center of the zoomed horizontal view. Only available when position==false The following are available: nil, keeps center of view in the center during zoom(default) -1, default selection, as set in the reaper-prefs, 0, edit-cursor or playcursor(if it's in the current zoomfactor of the view during playback/recording) in center, 1, keeps edit-cursor in center of zoom 2, keeps center of view in the center during zoom 3, keeps in center of zoom, what is beneath the mousecursor
optional boolean verticalscroll true or nil, sets vertical scroll-value as well; false, doesn't set vertical-scroll-value

Returnvalues:
boolean retval false, in case of error; true, in case of success
string description a description for this arrangeview-snapshot
number startposition the startposition of the arrangeview
number endposition the endposition of the arrangeview
integer vzoom the vertical-zoomfactor(0-40)
number hzoomfactor the horizontal zoomfactor
number vertical_scroll_factor the vertical-scroll-factor



^ Reaper version 5.40 Ultraschall version 4.00RetrieveArrangeviewSnapshot

Functioncall:
Lua: boolean retval, string description, number startposition, number endposition, integer vzoomfactor, number hzoomfactor, number vertical_scroll = ultraschall.RetrieveArrangeviewSnapshot(integer slot)

Description:

Retrieves an Arrangeview-snapshot and returns the startposition, endposition and vertical and horizontal zoom-factor as well as the number vertical-scroll-factor..

Returns false in case of error.

Parameters:
integer slot the slot for arrangeview-snapshot

Returnvalues:
boolean retval false, in case of error; true, in case of success
string description a description for this arrangeview-snapshot
number startposition the startposition of the arrangeview
number endposition the endposition of the arrangeview
integer vzoom the vertical-zoomfactor(0-40)
number hzoomfactor the horizontal zoomfactor
number vertical_scroll the vertical scroll-value



^ Reaper version 5.965 JS version 0.962 Ultraschall version 4.00SetVerticalRelativeScroll

Functioncall:
Lua: boolean retval = ultraschall.SetVerticalRelativeScroll(integer relative_scrollposition)

Description:

Sets the vertical-scroll-factor, relative to it's current position.

The possible value-range depends on the vertical-zoom.

returns false in case of an error or if scrolling is impossible(e.g. zoomed out fully)

Parameters:
integer scrollposition the vertical scrolling-position

Returnvalues:
boolean retval true, if setting was successful; false, if setting was unsuccessful



^ Reaper version 5.965 JS version 0.962 Ultraschall version 4.00SetVerticalScroll

Functioncall:
Lua: boolean retval = ultraschall.SetVerticalScroll(integer scrollposition)

Description:

Sets the absolute vertical-scroll-factor.

The possible value-range depends on the vertical-zoom.

returns false in case of an error or if scrolling is impossible(e.g. zoomed out fully)

Parameters:
integer scrollposition the vertical scrolling-position

Returnvalues:
boolean retval true, if setting was successful; false, if setting was unsuccessful



^ Reaper version 5.40 SWS version 2.9.7 Ultraschall version 4.00SetVerticalZoom

Functioncall:
Lua: integer retval = ultraschall.SetVerticalZoom(integer vertical_zoom_factor)

Description:

Sets the vertical zoom factor.

To set it relative to the current vertical-zoom-value, use Reaper's own API-function CSurf_OnZoom

Returns -1 in case of error.


Parameters:
integer vertical_zoom_factor the current vertical zoom-factor

Returnvalues:
integer retval -1, in case of error



^ Reaper version 5.40 Ultraschall version 4.00StoreArrangeviewSnapshot

Functioncall:
Lua: integer retval = ultraschall.StoreArrangeviewSnapshot(integer slot, string description, boolean position, boolean vzoom, boolean vscroll)

Description:

Stores a new Arrangeview-snapshot, that includes the position, horizontal zoom, vertical zoom and vertical scroll.

Returns -1 in case of error.

Parameters:
integer slot the slot for arrangeview-snapshot
string description a description for this arrangeview-snapshot
boolean position true, store start and endposition of the current arrangeview; false, don't store start and endposition of current arrangeview(keep old position in slot, if existing)
boolean vzoom true, store current vertical-zoom-factor; false, don't store current vertical-zoom-factor(keep old zoomfactor in slot, if existing)
boolean vscroll true, store current vertical scroll-factor; false, don't store current vertival-scroll-factor

Returnvalues:
integer retval -1, in case of error




^ Reaper version 5.95 Ultraschall version 4.00ShowMenu

Functioncall:
Lua: integer retval = ultraschall.ShowMenu(string Title, string Entries, integer x, integer y)

Description:

Draws a menu at position x,y.

Entries is the string, that contains the Menuentries, separated by |
Example: "Entry1|Entry2|Entry3"

Each field can start with a special character
  # grays out the entry
  ! entry is checked
  > starts a new submenu, where every following entry will be part of the submenu
  < ends a submenu with this entry being the last one
These special characters can be combined, however, grayed out entries don't open submenus, even if they are shown as submenus.
A field with nothing in it || creates a separator.    

The returned number follows the numbering of the clickable(!) entries. Even if grayed out-entries can't be selected, they count as well.
However, opening-submenu-entries and separators don't count as clickable.
That said, if you have one grayed out entry and one normal entry, the grayed out entry is 1, the normal entry(the only selectable one) is 2.

The following entry

  Normal1|>SubmenuOpener|Submenuentry1|
creates the following menu:

  Normal1
  SubmenuOpener >
    Submenuentry1
    SubmenuEntry2Closer
  Grayed Out

One last thing: the title does not count as entry!

Note for Mac-users: y-coordinates are "reversed", so y=0 is at the bottom
Note for Linux: does not work on Linux yet.

returns -1 in case of an error

Parameters:
string Title the title shown on top of the menu
string Entries the individual entries. See above on how to create such an entry.
integer x the x-position of the menu
integer y the y-position of the menu

Returnvalues:
integer retval the selected entry; 0, nothing selected




^ Reaper version 5.965 JS version 0.962 Ultraschall version 4.00BrowseForOpenFiles

Functioncall:
Lua: string path, integer number_of_files, array filearray = ultraschall.BrowseForOpenFiles(string windowTitle, string initialFolder, string initialFile, string extensionList, boolean allowMultiple)

Description:

Opens a filechooser-dialog which optionally allows selection of multiple files. Unlike Reaper's own GetUserFileNameForRead, this dialog allows giving non-existant files as well(for saving operations).

Returns nil in case of an error


Parameters:
string windowTitle the title shown in the filechooser-dialog
string initialFolder the initial-folder opened in the filechooser-dialog
string initialFile the initial-file selected in the filechooser-dialog, good for giving default filenames
string extensionList a list of extensions that can be selected in the selection-list. the list has the following structure(separate the entries with a \0): "description of type1\0type1\0description of type 2\0type2\0" the description of type can be anything that describes the type(s), to define one type, write: *.ext to define multiple types, write: *.ext;*.ext2;*.ext3 the extensionList must end with a \0
boolean allowMultiple true, allows selection of multiple files; false, only allows selection of single files

Returnvalues:
string path the path, in which the selected file(s) lie; nil, in case of an error; "" if no file was selected
integer number_of_files the number of files selected; 0, if no file was selected
array filearray an array with all the selected files



^ Reaper version 6.11 SWS version 2.11.0 JS version 1.215 Ultraschall version 4.1GetUserInputs

Functioncall:
Lua: boolean retval, integer number_of_inputfields, table returnvalues = ultraschall.GetUserInputs(string title, table caption_names, table default_retvals, optional integer values_length, optional integer caption_length, optional integer x_pos, optional integer y_pos)

Description:

Gets inputs from the user.

Important: This works only on Windows, currently.

The captions and the default-returnvalues must be passed as an integer-index table.
e.g.
  caption_names[1]="first caption name"
  caption_names[2]="second caption name"
  caption_names[1]="*third caption name, which creates an inputfield for passwords, due the * at the beginning"
  
   The number of entries in the tables "caption_names" and "default_retvals" decide, how many inputfields are shown. Maximum is 16 inputfields.
   You can safely pass "" as table-entry for a name, if you don't want to set it.
  
  The following example shows an input-dialog with three fields, where the first two the have default-values:
  
    retval, number_of_inputfields, returnvalues = ultraschall.GetUserInputs("I am the title", {"first", "second", "third"}, {1,"two"})  

   Note: Don't use this function within defer-scripts or scripts that are started by defer-scripts, as this produces errors.
     This is due limitations in Reaper, sorry.

   Note for Mac-Users: size of caption/retval-fields and positioning of the window doesn't work on Mac yet, but you can use these parameters anyways.
                   This is due Mac's way of having y-coordinate starting at the bottom and I will fix it as soon as I figured that out.

   returns false in case of an error.

Parameters:
string title the title of the inputwindow
table caption_names a table with all inputfield-captions. All non-string-entries will be converted to string-entries. Begin an entry with a * for password-entry-fields. it can be up to 16 fields This dialog only allows limited caption-field-length, about 19-30 characters, depending on the size of the used characters. Don't enter nil as captionname, as this will be seen as end of the table by this function, omitting possible following captionnames!
table default_retvals a table with all default retvals. All non-string-entries will be converted to string-entries. it can be up to 16 fields Only enter nil as default-retval, if no further default-retvals are existing, otherwise use "" for empty retvals. for no default-retvals, write nil
optional integer values_length the extralength of the values-inputfield. With that, you can enhance the length of the inputfields. 1-500(doesn't work on Mac yet)
optional integer caption_length the length of the caption in pixels; inputfields and OK, Cancel-buttons will be moved accordingly.(doesn't work on Mac yet)
optional integer x_pos the x-position of the GetUserInputs-dialog; nil, to keep default position(doesn't work on Mac yet)
optional integer y_pos the y-position of the GetUserInputs-dialog; nil, to keep default position(doesn't work on Mac yet)

Returnvalues:
boolean retval true, the user clicked ok on the userinput-window; false, the user clicked cancel or an error occured
integer number_of_inputfields the number of returned values; nil, in case of an error
table returnvalues the returnvalues input by the user as a table; nil, in case of an error



^ Reaper version 6.11 JS version 1.215 Ultraschall version 4.1MB

Functioncall:
Lua: integer retval = ultraschall.MB(string msg, optional string title, optional integer type, optional string button1_caption, optional string button2_caption, optional string button3_caption)

Description:

Shows Messagebox with user-clickable buttons. Works like reaper.MB() but unlike reaper.MB, this function accepts omitting some parameters for quicker use.

Important: This doesn't work on Mac, as you can not replace the button texts there in the first place. Sorry...

You can change the text in the buttons with button1_caption, button2_caption and button3_caption.
    
Returns -1 in case of an error

Parameters:
string msg the message, that shall be shown in messagebox
optional string title the title of the messagebox
optional integer type which buttons shall be shown in the messagebox, in that order 0, OK 1, OK CANCEL 2, ABORT RETRY IGNORE 3, YES NO CANCEL 4, YES NO 5, RETRY CANCEL nil, defaults to OK
optional string button1_caption caption of the first button
optional string button2_caption caption of the second button
optional string button3_caption caption of the third button

Returnvalues:
integer the button pressed by the user -1, error while executing this function 1, Button 1 2, Button 2 3, Button 3




^ Reaper version 6.10 SWS version 2.9.7 Ultraschall version 4.1GetItemButtonsVisible

Functioncall:
Lua: boolean Volume, integer Locked, integer Mute, integer Notes, boolean PooledMidi, boolean GroupedItems, integer PerTakeFX, integer Properties, integer AutomationEnvelopes = ultraschall.GetItemButtonsVisible()

Description:

gets, which item-buttons are be shown


Returnvalues:
boolean Volume true, shows the volume knob; false, doesn't show the volume knob
integer Locked gets visibility-state of locked/unlocked button 0, doesn't show lockstate button 1, shows locked button only 2, shows unlocked button only 3, shows locked and unlocked button
integer Mute gets visibility-state of mute/unmuted button 0, doesn't show mute button 1, shows mute button only 2, shows unmuted button only 3, shows muted and unmuted button
integer Notes gets visibility-state of itemnotes-button 0, doesn't show item-note button 1, shows itemnote existing-button only 2, shows no itemnote existing-button only 3, shows itemnote existing and no itemnote existing-button
boolean PooledMidi true, shows the pooled midi-button; false, don't show the pooled midi-button
boolean GroupedItems true, shows the grouped item-button; false, don't show the grouped item-button
integer PerTakeFX gets visibility-state of take fx-button 0, doesn't show take-fx button 1, shows active take fx-button only 2, shows non active take fx-button only 3, shows active and nonactive take fx-button
integer Properties gets visibility-state of properties-button 0, doesn't show item properties-button 1, shows item properties-button 2, shows item properties-button only if resampled media
integer AutomationEnvelopes gets visibility-state of envelope-button 0, doesn't show envelope-button 1, shows active envelope-button only 2, shows non active envelope-button only 3, shows active and nonactive envelope-button



^ Reaper version 6.10 SWS version 2.9.7 Ultraschall version 4.1SetItemButtonsVisible

Functioncall:
Lua: boolean retval = ultraschall.SetItemButtonsVisible(optional boolean Volume, optional integer Locked, optional integer Mute, optional integer Notes, optional boolean PooledMidi, optional boolean GroupedItems, optional integer PerTakeFX, optional integer Properties, optional integer AutomationEnvelopes)

Description:

allows setting, which item-buttons shall be shown

returns false in case of an error


Parameters:
optional boolean Volume true, show the volume knob; false, don't show the volume knob; nil, keep current setting
optional integer Locked sets state of locked/unlocked button nil, keep current state 0, don't show lockstate button 1, show locked button only 2, show unlocked button only 3, show locked and unlocked button
optional integer Mute sets state of mute/unmuted button nil, keep current state 0, don't show mute button 1, show mute button only 2, show unmuted button only 3, show muted and unmuted button
optional integer Notes sets state of itemnotes-button nil, keep current state 0, don't show item-note button 1, show itemnote existing-button only 2, show no itemnote existing-button only 3, show itemnote existing and no itemnote existing-button
optional boolean PooledMidi true, show the pooled midi-button; false, don't show the pooled midi-button; nil, keep current setting
optional boolean GroupedItems true, show the grouped item-button; false, don't show the grouped item-button; nil, keep current setting
optional integer PerTakeFX sets state of take fx-button nil, keep current state 0, don't show take-fx button 1, show active take fx-button only 2, show non active take fx-button only 3, show active and nonactive take fx-button
optional integer Properties show properties-button nil, keep current state 0, don't show item properties-button 1, show item properties-button 2, show item properties-button only if resampled media
optional integer AutomationEnvelopes sets state of envelope-button nil, keep current state 0, don't show envelope-button 1, show active envelope-button only 2, show non active envelope-button only 3, show active and nonactive envelope-button

Returnvalues:
boolean retval true, setting button was successful; false, buttons couldn't be set




^ Reaper version 5.92 JS version 0.986 Ultraschall version 4.00ShowAutomationItemMenu

Functioncall:
Lua: boolean retval = ultraschall.ShowAutomationItemMenu(integer x, integer y, integer AutomationIDX, optional TrackEnvelope TrackEnvelope, optional HWND HWNDParent)

Description:

Opens an AutomationItem-context menu

Returns false in case of error.


Parameters:
integer x x position of the context-menu in pixels
integer y y position of the context-menu in pixels
integer AutomationIDX the automation item-id within this Envelope which shall be influenced by the menu-selection of the opened context-menu, beginning with 1 for the first
optional TrackEnvelope TrackEnvelope the TrackEnvelope/TakeEnvelope, which shall be influenced by the menu-selection of the opened context-menu; nil, use the currently selected TrackEnvelope
optional HWND HWNDParent a HWND, in which the context-menu shall be shown in; nil, use Reaper's main window

Returnvalues:
boolean retval true, opening the menu worked; false, there was an error



^ Reaper version 5.92 JS version 0.986 Ultraschall version 4.00ShowEnvelopeMenu

Functioncall:
Lua: boolean retval = ultraschall.ShowEnvelopeMenu(integer x, integer y, optional TrackEnvelope TrackEnvelope, optional HWND HWNDParent)

Description:

Opens a Track/TakeEnvelope-context menu

Returns false in case of error.


Parameters:
integer x x position of the context-menu in pixels
integer y y position of the context-menu in pixels
optional TrackEnvelope TrackEnvelope the TrackEnvelope/TakeEnvelope, which shall be influenced by the menu-selection of the opened context-menu; nil, use the currently selected TrackEnvelope
optional HWND HWNDParent a HWND, in which the context-menu shall be shown in; nil, use Reaper's main window

Returnvalues:
boolean retval true, opening the menu worked; false, there was an error



^ Reaper version 5.92 JS version 0.986 Ultraschall version 4.00ShowEnvelopePointMenu

Functioncall:
Lua: boolean retval = ultraschall.ShowEnvelopePointMenu(integer x, integer y, integer Pointidx, optional TrackEnvelope TrackEnvelope, optional HWND HWNDParent)

Description:

Opens a Track/TakeEnvelope-Point-context menu

Returns false in case of error.


Parameters:
integer x x position of the context-menu in pixels
integer y y position of the context-menu in pixels
integer Pointidx the envelope-point, which shall be influenced by the context-menu
optional TrackEnvelope TrackEnvelope the TrackEnvelope/TakeEnvelope, which shall be influenced by the menu-selection of the opened context-menu; nil, use the currently selected TrackEnvelope
optional HWND HWNDParent a HWND, in which the context-menu shall be shown in; nil, use Reaper's main window

Returnvalues:
boolean retval true, opening the menu worked; false, there was an error



^ Reaper version 5.92 JS version 0.986 Ultraschall version 4.00ShowEnvelopePointMenu_AutomationItem

Functioncall:
Lua: boolean retval = ultraschall.ShowEnvelopePointMenu_AutomationItem(integer x, integer y, integer Pointidx, integer AutomationIDX, optional TrackEnvelope TrackEnvelope, optional HWND HWNDParent)

Description:

Opens a Track/TakeEnvelope-Point-context menu for AutomationItems

Returns false in case of error.


Parameters:
integer x x position of the context-menu in pixels
integer y y position of the context-menu in pixels
integer Pointidx the envelope-point, which shall be influenced by the context-menu
integer AutomationIDX the automation item-id within this Envelope, beginning with 1 for the first
optional TrackEnvelope TrackEnvelope the TrackEnvelope/TakeEnvelope, which shall be influenced by the menu-selection of the opened context-menu; nil, use the currently selected TrackEnvelope
optional HWND HWNDParent a HWND, in which the context-menu shall be shown in; nil, use Reaper's main window

Returnvalues:
boolean retval true, opening the menu worked; false, there was an error



^ Reaper version 5.92 JS version 0.986 Ultraschall version 4.00ShowMediaItemMenu

Functioncall:
Lua: boolean retval = ultraschall.ShowMediaItemMenu(integer x, integer y, optional MediaItem MediaItem, optional HWND HWNDParent)

Description:

Opens a MediaItem-context menu

Returns false in case of error.


Parameters:
integer x x position of the context-menu in pixels
integer y y position of the context-menu in pixels
optional MediaItem MediaItem the MediaItem, which shall be influenced by the menu-selection of the opened context-menu; nil, use the currently selected one
optional HWND HWNDParent a HWND, in which the context-menu shall be shown in; nil, use Reaper's main window

Returnvalues:
boolean retval true, opening the menu worked; false, there was an error



^ Reaper version 5.92 JS version 0.986 Ultraschall version 4.00ShowRulerMenu

Functioncall:
Lua: boolean retval = ultraschall.ShowRulerMenu(integer x, integer y, optional HWND HWNDParent)

Description:

Opens a Ruler-context menu

Returns false in case of error.


Parameters:
integer x x position of the context-menu in pixels
integer y y position of the context-menu in pixels
optional HWND HWNDParent a HWND, in which the context-menu shall be shown in; nil, use Reaper's main window

Returnvalues:
boolean retval true, opening the menu worked; false, there was an error



^ Reaper version 5.92 JS version 0.986 Ultraschall version 4.00ShowTrackAreaMenu

Functioncall:
Lua: boolean retval = ultraschall.ShowTrackAreaMenu(integer x, integer y, optional HWND HWNDParent)

Description:

Opens a TrackArea-context menu

Returns false in case of error.


Parameters:
integer x x position of the context-menu in pixels
integer y y position of the context-menu in pixels
optional HWND HWNDParent a HWND, in which the context-menu shall be shown in; nil, use Reaper's main window

Returnvalues:
boolean retval true, opening the menu worked; false, there was an error



^ Reaper version 5.92 JS version 0.986 Ultraschall version 4.00ShowTrackInputMenu

Functioncall:
Lua: boolean retval = ultraschall.ShowTrackInputMenu(integer x, integer y, optional MediaTrack MediaTrack, optional HWND HWNDParent)

Description:

Opens a TrackInput-context menu

Returns false in case of error.


Parameters:
integer x x position of the context-menu in pixels
integer y y position of the context-menu in pixels
optional MediaTrack MediaTrack the MediaTrack, which shall be influenced by the menu-selection of the opened context-menu; nil, use the currently selected one
optional HWND HWNDParent a HWND, in which the context-menu shall be shown in; nil, use Reaper's main window

Returnvalues:
boolean retval true, opening the menu worked; false, there was an error



^ Reaper version 5.92 JS version 0.986 Ultraschall version 4.00ShowTrackPanelMenu

Functioncall:
Lua: boolean retval = ultraschall.ShowTrackPanelMenu(integer x, integer y, optional MediaTrack MediaTrack, optional HWND HWNDParent)

Description:

Opens a TrackPanel-context menu

Returns false in case of error.


Parameters:
integer x x position of the context-menu in pixels
integer y y position of the context-menu in pixels
optional MediaTrack MediaTrack the MediaTrack, which shall be influenced by the menu-selection of the opened context-menu; nil, use the currently selected one
optional HWND HWNDParent a HWND, in which the context-menu shall be shown in; nil, use Reaper's main window

Returnvalues:
boolean retval true, opening the menu worked; false, there was an error



^ Reaper version 5.92 JS version 0.986 Ultraschall version 4.00ShowTrackRoutingMenu

Functioncall:
Lua: boolean retval = ultraschall.ShowTrackRoutingMenu(integer x, integer y, optional MediaTrack MediaTrack, optional HWND HWNDParent)

Description:

Opens a TrackRouting-context menu

Returns false in case of error.


Parameters:
integer x x position of the context-menu in pixels
integer y y position of the context-menu in pixels
optional MediaTrack MediaTrack the MediaTrack, which shall be influenced by the menu-selection of the opened context-menu; nil, use the currently selected one
optional HWND HWNDParent a HWND, in which the context-menu shall be shown in; nil, use Reaper's main window

Returnvalues:
boolean retval true, opening the menu worked; false, there was an error




^ Reaper version 5.40 Ultraschall version 4.00ConvertYCoordsMac2Win

Functioncall:
Lua: integer conv_ycoord = ultraschall.ConvertYCoordsMac2Win(integer ycoord, optional integer height)

Description:

Converts the y-coordinate between Windows/Linux and MacOS-based systems.

Note: MacOS y-coordinates begin at the bottom of the screen, while Windows and Linux y-coordinates begin at the top.
With this function, you can convert between these two coordinate-systems

returns nil in case of error

Parameters:
integer ycoord the y-coordinate to convert in pixels
optional integer height the height of the screen in pixels, which is the base for the conversion; nil, uses current screenheight

Returnvalues:
integer conv_ycoord the converted coordinate in pixels



^ Reaper version 5.77 Ultraschall version 4.00GetIDEFontSize

Functioncall:
Lua: integer retval = ultraschall.GetIDEFontSize()

Description:

Returns the current fontsize of Reaper's IDE (ReaScript/Video Processor/JSFX)

Returnvalues:
integer fontsize the currently set fontsize within Reaper's IDEs



^ Reaper version 5.981 SWS version 2.10.0.1 Ultraschall version 4.00GetTimeByMouseXPosition

Functioncall:
Lua: number position = ultraschall.GetTimeByMouseXPosition(integer xposition)

Description:

Returns the projectposition at x-mouseposition.

Returns nil in case of an error


Parameters:
integer xposition the x-position in pixels, from which you would love to have the projectposition

Returnvalues:
number position the projectposition at x-coordinate in seconds



^ Reaper version 6.17 Ultraschall version 4.2GetUIScale

Functioncall:
Lua: number uiscale = ultraschall.GetUIScale()

Description:

Gets the current UI-scaling of Reaper's UI.

returns false in case of an error.

Returnvalues:
number uiscale the current scaling-factor of Reaper's UI



^ Reaper version 5.77 Ultraschall version 4.00SetIDEFontSize

Functioncall:
Lua: boolean retval = ultraschall.SetIDEFontSize(integer fontsize)

Description:

Sets the fontsize of Reaper's IDE (ReaScript/Video Processor/JSFX)
New fontsize is valid for all IDE's opened after calling this function.

Returns false in case of an error

Parameters:
integer fontsize the new font-size for Reaper's IDEs

Returnvalues:
boolean retval true, if setting was successful; false, if not



^ Reaper version 5.965 Ultraschall version 4.1SetReaScriptConsole_FontStyle

Functioncall:
Lua: boolean retval = ultraschall.SetReaScriptConsole_FontStyle(integer style)

Description:

If the ReaScript-console is opened, you can change the font-style of it. You can choose between 19 different styles, with 3 being of fixed character length. It will change the next time you output text to the ReaScriptConsole.

If you close and reopen the Console, you need to set the font-style again!

You can only have one style active in the console!

Returns false in case of an error


Parameters:
integer length the font-style used. There are 19 different ones. fixed-character-length: 1, fixed, console 2, fixed, console alt 3, thin, fixed normal from large to small: 4-8 bold from largest to smallest: 9-14 thin: 15, thin underlined: 16, underlined, thin 17, underlined 18, underlined symbol: 19, symbol

Returnvalues:
boolean retval true, displaying was successful; false, displaying wasn't successful



^ Reaper version 6.17 Ultraschall version 4.2SetUIScale

Functioncall:
Lua: boolean retval = ultraschall.SetUIScale(number scaling)

Description:

Sets the UI-scaling of Reaper's UI.

Works only, if the "Scale UI elements of track/mixer panels, tansport, etc, by:"-checkbox is enabled in Preferences -> General -> Advanced UI/system tweaks-dialog,
by setting the value in the dialog to anything else than 1.0.

returns false in case of an error.

Parameters:
number scaling the scaling-factor; safe range is between 0.30 and 3.00, though 0 to 2000 is supported

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful




^ Reaper version 5.965 JS version 0.963 Ultraschall version 4.00GetActionsHWND

Functioncall:
Lua: HWND hwnd = ultraschall.GetActionsHWND()

Description:

returns the HWND of the Actions-dialog, if the window is opened.

returns nil if the Actions-dialog is closed

Returnvalues:
HWND hwnd the window-handler of the Actions-dialog



^ Reaper version 5.965 JS version 0.963 Ultraschall version 4.00GetBatchFileItemConverterHWND

Functioncall:
Lua: HWND hwnd = ultraschall.GetBatchFileItemConverterHWND()

Description:

returns the HWND of the "Batch File/Item Converter"-dialog, if the window is opened.

returns nil if the "Batch File/Item Converter"-dialog is closed

Returnvalues:
HWND hwnd the window-handler of the "Batch File/Item Converter"-dialog



^ Reaper version 5.965 JS version 0.963 Ultraschall version 4.00GetConsolidateTracksHWND

Functioncall:
Lua: HWND hwnd = ultraschall.GetConsolidateTracksHWND()

Description:

returns the HWND of the Consolidate Tracks-dialog, if the window is opened.

returns nil if the Consolidate Tracks-dialog is closed

Returnvalues:
HWND hwnd the window-handler of the Consolidate Tracks-dialog



^ Reaper version 5.965 JS version 0.963 Ultraschall version 4.00GetExportProjectMIDIHWND

Functioncall:
Lua: HWND hwnd = ultraschall.GetExportProjectMIDIHWND()

Description:

returns the HWND of the "Export Project MIDI"-dialog, if the window is opened.

returns nil if the "Export Project MIDI"-dialog is closed

Returnvalues:
HWND hwnd the window-handler of the "Export Project MIDI"-dialog



^ Reaper version 5.965 SWS version 2.9.7 JS version 0.964 Ultraschall version 4.00GetHWND_ArrangeViewAndTimeLine

Functioncall:
Lua: HWND arrange_view, HWND timeline, HWND TrackControlPanel, HWND TrackListWindow = ultraschall.GetHWND_ArrangeViewAndTimeLine()

Description:

Returns the HWND-Reaper-Windowhandler for the tracklist- and timeline-area in the arrange-view

returns nil in case of an error. Please report such an error, which means, that you should use ultraschall.ShowLastErrorMessage() to show that error and report the information requested(fruitful bugreports lead to a handwritten postcard as reward :) )

Returnvalues:
HWND arrange_view the HWND-window-handler for the tracklist-area of the arrangeview
HWND timeline the HWND-window-handler for the timeline/markerarea of the arrangeview
HWND TrackControlPanel the HWND-window-handler for the track-control-panel(TCP)(may not work anymore in an upcoming Reaper-release! Send me a note in that case!)
HWND TrackListWindow the HWND-window-handler for the tracklist-window



^ Reaper version 5.965 JS version 0.963 Ultraschall version 4.00GetMediaExplorerHWND

Functioncall:
Lua: HWND hwnd = ultraschall.GetMediaExplorerHWND()

Description:

returns the HWND of the Media Explorer, if the window is opened.

returns nil if Media Explorer is closed

Returnvalues:
HWND hwnd the window-handler of the Media Explorer



^ Reaper version 5.965 JS version 0.963 Ultraschall version 4.00GetPreferencesHWND

Functioncall:
Lua: HWND hwnd = ultraschall.GetPreferencesHWND()

Description:

returns the HWND of the Preferences-dialog, if the window is opened.

returns nil if the Preferences-dialog is closed

Returnvalues:
HWND hwnd the window-handler of the Preferences-dialog



^ Reaper version 5.965 JS version 0.963 Ultraschall version 4.00GetProjectDirectoryCleanupHWND

Functioncall:
Lua: HWND hwnd = ultraschall.GetProjectDirectoryCleanupHWND()

Description:

returns the HWND of the "Project Directory Cleanup"-dialog, if the window is opened.

returns nil if the "Project Directory Cleanup"-dialog is closed

Returnvalues:
HWND hwnd the window-handler of the "Project Directory Cleanup"-dialog



^ Reaper version 5.965 JS version 0.963 Ultraschall version 4.00GetProjectSettingsHWND

Functioncall:
Lua: HWND hwnd = ultraschall.GetProjectSettingsHWND()

Description:

returns the HWND of the Project Settings-dialog, if the window is opened.

returns nil if the Project-Settings-dialog is closed

Returnvalues:
HWND hwnd the window-handler of the Project Settings-dialog



^ Reaper version 5.965 JS version 0.963 Ultraschall version 4.00GetReaScriptConsoleWindow

Functioncall:
Lua: HWND reascript_console_hwnd = ultraschall.GetReaScriptConsoleWindow()

Description:

Returns the hwnd of the ReaScript-Console-window, if opened.

returns nil when ReaScript-console isn't opened

Returnvalues:
HWND reascript_console_hwnd the window-handler to the ReaScript-console, if opened



^ Reaper version 5.965 JS version 0.963 Ultraschall version 4.00GetRenderQueueHWND

Functioncall:
Lua: HWND hwnd = ultraschall.GetRenderQueueHWND()

Description:

returns the HWND of the Render-Queue-dialog, if the window is opened.

returns nil if the Render-Queue-dialog is closed

Returnvalues:
HWND hwnd the window-handler of the Render-Queue-dialog



^ Reaper version 5.965 JS version 0.963 Ultraschall version 4.00GetRenderToFileHWND

Functioncall:
Lua: HWND hwnd = ultraschall.GetRenderToFileHWND()

Description:

returns the HWND of the Render to File-dialog, if the window is opened.

returns nil if Render to File-dialog is closed

Returnvalues:
HWND hwnd the window-handler of the Render to File-dialog



^ Reaper version 5.977 Ultraschall version 4.00GetRenderingToFileHWND

Functioncall:
Lua: HWND rendertofile_dialog = ultraschall.GetRenderingToFileHWND()

Description:

Gets the HWND of the Rendering to File-dialog, which is displayed while Reaper is rendering.

returns nil in case of an error


Returnvalues:
HWND rendertofile_dialog the HWND of the render to file-dialog; nil, in case of an error



^ Reaper version 5.965 JS version 0.963 Ultraschall version 4.00GetSaveLiveOutputToDiskHWND

Functioncall:
Lua: HWND hwnd = ultraschall.GetSaveLiveOutputToDiskHWND()

Description:

returns the HWND of the "Save live output to disk(bounce)"-dialog, if the window is opened.

returns nil if the "Save live output to disk(bounce)"-dialog is closed

Returnvalues:
HWND hwnd the window-handler of the "Save live output to disk(bounce)"-dialog



^ Reaper version 5.965 JS version 0.963 Ultraschall version 4.00GetSaveProjectAsHWND

Functioncall:
Lua: HWND hwnd = ultraschall.GetSaveProjectAsHWND()

Description:

returns the HWND of the Save As-dialog, if the window is opened.

returns nil if the Save As-dialog is closed

Returnvalues:
HWND hwnd the window-handler of the Save As-dialog



^ Reaper version 5.965 JS version 0.963 Ultraschall version 4.1GetTrackManagerHWND

Functioncall:
Lua: HWND hwnd = ultraschall.GetTrackManagerHWND()

Description:

returns the HWND of the Track Manager-dialog, if the window is opened.

returns nil if Track Manager-dialog is closed

Returnvalues:
HWND hwnd the window-handler of the Track Manager-dialog



^ Reaper version 5.965 JS version 0.963 Ultraschall version 4.00GetVideoHWND

Functioncall:
Lua: HWND hwnd = ultraschall.GetVideoHWND()

Description:

returns the HWND of the Video window, if the window is opened.

due API-limitations on Mac and Linux: if more than one window called "Video Window" is opened, it will return -1
I hope to find a workaround for that problem at some point...

returns nil if the Video Window is closed or can't be determined

Returnvalues:
HWND hwnd the window-handler of the Video Window




^ Reaper version 5.95 Ultraschall version 4.00GetScreenHeight

Functioncall:
Lua: integer height = ultraschall.GetScreenHeight(optional boolean want_workarea)

Description:

returns the height of the screen in pixels.

returns -1 in case of an error

Parameters:
optional boolean want_workarea true, returns workspace only; false, full monitor coordinates of the returned viewport; nil, will be seen as true

Returnvalues:
integer width the height of the screen in pixels



^ Reaper version 5.95 Ultraschall version 4.00GetScreenWidth

Functioncall:
Lua: integer width = ultraschall.GetScreenWidth(optional boolean want_workarea)

Description:

returns the width of the screen in pixels.

returns -1 in case of an error

Parameters:
optional boolean want_workarea true, returns workspace only; false, full monitor coordinates of the returned viewport; nil, will be seen as true

Returnvalues:
integer width the width of the screen in pixels




^ Reaper version 6.02 JS version 0.998 Ultraschall version 4.00GetTCPWidth

Functioncall:
Lua: integer width = ultraschall.GetTCPWidth()

Description:

Returns the current width of the TrackControlPanel.

Returnvalues:
integer width the width of the TCP



^ Reaper version 6.02 Ultraschall version 4.1TCP_SetWidth

Functioncall:
Lua: boolean retval = ultraschall.TCP_SetWidth(integer width)

Description:

allows setting the width of the tcp.

returns false in case of an error

Parameters:
integer width the new width of the tcp in pixels; 0 and higher

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful




^ Reaper version 6.02 Ultraschall version 4.1SetTimeUnit

Functioncall:
Lua: boolan retval = ultraschall.SetTimeUnit(optional integer transport_unit, optional integer ruler_unit, optional integer ruler_unit2)

Description:

Sets the time-unit for transport, ruler and secondary ruler

returns false in case of error

Parameters:
optional integer transport_unit the unit for the transport nil, keep current 0, seconds 1, samples 2, Minutes:Seconds 3, Measures.Beats/minutes:Seconds 4, Measures.Beats 5, Hours:Minutes:Seconds:Frames 6, Absolute frames
optional integer ruler_unit the unit for the ruler nil, keep current 0, seconds 1, samples 2, Minutes:Seconds 3, Measures.Beats/minutes:Seconds 4, Measures.Beats 5, Hours:Minutes:Seconds:Frames 6, Absolute frames 7, Measures.Beats(minimal)/minutes:Seconds 8, Measures.Beats(minimal)
optional integer ruler_unit2 the unit for the secondary ruler nil, keep current 0, seconds 1, samples 2, Minutes:Seconds 3, Hours:Minutes:Seconds:Frames 4, Absolute frames 5, None

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful




^ Reaper version 5.941 SWS version 2.9.7 Ultraschall version 4.00GetPlayCursorWidth

Functioncall:
Lua: integer play_cursor_width = ultraschall.GetPlayCursorWidth()

Description:

Returns the width of the playcursor in pixels

see SetPlayCursorWidth for setting the playcursor-width.

Returnvalues:
integer play_cursor_width the width of the playcursor in pixels



^ Reaper version 5.941 SWS version 2.9.7 Ultraschall version 4.00SetPlayCursorWidth

Functioncall:
Lua: boolean retval = ultraschall.SetPlayCursorWidth(integer play_cursor_width, boolean persist)

Description:

Sets a new playcursor-width.

see GetPlayCursorWidth for getting the playcursor-width.

Returns false in case of an error

Parameters:
integer play_cursor_width the new width of the playcursor
boolean persist true, set the setting to reaper.ini so it persists after restarting Reaper; false, set it only for the time, until Reaper is restarted

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful




^ Reaper version 5.975 JS version 0.972 Ultraschall version 4.00GetCheckboxState

Functioncall:
Lua: boolean retval = ultraschall.GetCheckboxState(HWND hwnd)

Description:

Gets the checked-state of a checkbox-hwnd. This function will not check, whether the hwnd is an actual checkbox!

Returns nil in case of an error


Parameters:
HWND hwnd the hwnd-handler of the checkbox

Returnvalues:
boolean retval true, checkbox is checked; false, checkbox isn't checked



^ Reaper version 5.975 JS version 0.972 Ultraschall version 4.00SetCheckboxState

Functioncall:
Lua: integer retval = ultraschall.SetCheckboxState(HWND hwnd, boolean state)

Description:

Sets the checked-state of a checkbox-hwnd. This function will not check, whether the hwnd is an actual checkbox!

Returns nil in case of an error


Parameters:
HWND hwnd the hwnd-handler of the checkbox
boolean state true, checkbox will be checked; false, checkbox will be unchecked

Returnvalues:
integer retval 0, in case of success




^ Reaper version 5.965 JS version 0.963 Ultraschall version 4.00GetAllReaScriptIDEWindows

Functioncall:
Lua: integer count_ide_hwnds, array ide_hwnd_array, array ide_titles = ultraschall.GetAllReaScriptIDEWindows()

Description:

Returns the hwnds and all titles of all Reaper-IDE-windows currently opened.

Returnvalues:
integer count_ide_hwnds the number of windows found
array ide_hwnd_array the hwnd-handler of all found windows
array ide_titles the titles of all found windows



^ Reaper version 5.965 JS version 0.972 Ultraschall version 4.00GetChildSizeWithinParentHWND

Functioncall:
Lua: integer xpos, integer ypos, integer width, integer height = ultraschall.GetChildSizeWithinParentHWND(hwnd parenthwnd, hwnd childhwnd)

Description:

Returns the position, height and width of a childhwnd, relative to the position of parenthwnd

Returns nil in case of an error


Parameters:
HWND parenthwnd the parenthwnd of the childhwnd, whose position will be the base for position-calculation of the childhwnd
HWND childhwnd the childhwnd, whose dimensions you want to get, relative to the position of the parenthwnd

Returnvalues:
integer xpos the x-position of the childhwnd relative to the position of the parenthwnd in pixels
integer ypos the y-position of the childhwnd relative to the position of the parenthwnd in pixels
integer width the width of the childhwnd in pixels
integer height the height of the childhwnd in pixels



^ Reaper version 5.965 JS version 0.962 Ultraschall version 4.00GetReaperWindowAttributes

Functioncall:
Lua: integer left, integer top, integer right, integer bottom, boolean active, boolean visible, string title, integer number_of_childhwnds, table childhwnds = ultraschall.GetReaperWindowAttributes()

Description:

returns many attributes of the Reaper Main-window, like position, size, active, visibility, childwindows

A hwnd is a window-handler, which contains all attributes of a certain window.

returns nil in case of an error

Parameters:
HWND hwnd the HWND, whose topmost parent-HWND you want to have

Returnvalues:
integer left the left position of the Reaper-window in pixels
integer top the top position of the Reaper-window in pixels
integer right the right position of the Reaper-window in pixels
integer bottom the bottom position of the Reaper-window in pixels
boolean active true, if the window is active(any child-hwnd of the Reaper-window has focus currently); false, if not
boolean visible true, Reaper-window is visible; false, Reaper-window is not visible
string title the current title of the Reaper-window
integer number_of_childhwnds the number of available child-hwnds that the Reaper-window currently has
table childhwnds a table with all child-hwnds in the following format: childhwnds[index][1]=hwnd childhwnds[index][2]=title



^ Reaper version 5.965 JS version 0.962 Ultraschall version 4.00GetTopmostHWND

Functioncall:
Lua: HWND topmost_hwnd, integer number_of_parent_hwnd, table all_parent_hwnds = ultraschall.GetTopmostHWND(HWND hwnd)

Description:

returns the topmost-parent hwnd of a hwnd, as sometimes, hwnds are children of a higher hwnd. It also returns the number of parent hwnds available and a list of all parent hwnds for this hwnd.

A hwnd is a window-handler, which contains all attributes of a certain window.

returns nil in case of an error

Parameters:
HWND hwnd the HWND, whose topmost parent-HWND you want to have

Returnvalues:
HWND hwnd the top-most parent hwnd available
integer number_of_parent_hwnd the number of parent hwnds, that are above the parameter hwnd
table all_parent_hwnds all available parent hwnds, above the parameter hwnd, including the topmost-hwnd



^ Reaper version 5.965 JS version 0.963 Ultraschall version 4.00HasHWNDChildWindowNames

Functioncall:
Lua: boolean retval = ultraschall.HasHWNDChildWindowNames(HWND hwnd, string childwindownames)

Description:

Returns, whether the given HWND has childhwnds with a certain name in them. This is good for checking for valid Reaper-windows.
As gfx.init()-windows can have the same as Reaper's original-windows, this function gives you the chance for aditional checks.
gfx.init windows don't have child-hwnds and other applications probably have child-hwnds with different names.

returns false in case of an error

Parameters:
HWND hwnd the HWND, whose child-hwnd-names you want to check
string childwindownames a string with the names of the child-HWNDs the parameter hwnd must have. It is a \0-separated string, means, you put \0 in between the child-Hwnd-names.

Returnvalues:
boolean retal true, the HWND has child-hwnds with that name(s); false, it doesn't



^ Reaper version 5.965 JS version 0.962 Ultraschall version 4.00IsValidHWND

Functioncall:
Lua: boolean retval = ultraschall.IsValidHWND(HWND hwnd)

Description:

Checks, if a HWND-handler is a valid one.

Returns false in case of an error


Parameters:
HWND hwnd the HWND-handler to check for

Returnvalues:
boolean retval true, if running it was successful; false, if not



^ Reaper version 5.965 JS version 0.972 Ultraschall version 4.00MoveChildWithinParentHWND

Functioncall:
Lua: integer newxpos, integer newypos, integer newrightpos, integer newbottompos, integer newrelativeleft, integer newrelativetop, integer newwidth, integer newheight = ultraschall.MoveChildWithinParentHWND(hwnd parenthwnd, hwnd childhwnd, boolean relative, integer left, integer top, integer width, integer height)

Description:

Moves a childhwnd within the coordinates of its parenthwnd. Good for moving gui-elements around without having to deal with screen-coordinates.

You can decide, whether the new position shall be relative to its old position or absolute within the parenthwnd-position.

The parent-hwnd must not be necessarily the parenthwnd of the childhwnd, so you can move the childhwnd relative to other hwnds as well, but keep in mind, that the childhwnd is only seeable within the boundaries of it's own parenthwnd!

Returns nil in case of an error


Parameters:
HWND parenthwnd the parenthwnd of the childhwnd, within whose dimensions you want to move the childhwnd
HWND childhwnd the childhwnd, that you want to move
boolean relative true, new position will be relative to the old position; false, new position will be absolute within the boundaries of the parenthwnd
integer left the new x-position of the childhwnd in pixels
integer top the new y-position of the childhwnd in pixels
integer width the new width of the childhwnd in pixels; when relative=true then 0 keeps the old width; when relative=false then 0 is width of 0 pixels
integer height the new height of the childhwnd in pixels; when relative=true then 0 keeps the old height; when relative=false then 0 is height of 0 pixels

Returnvalues:
integer newxpos the new x-position on the screen in pixels
integer newypos the new y-position on the screen in pixels
integer newrightpos the new right-position on the screen in pixels
integer newbottompos the new bottom-position on the screen in pixels
integer newrelativex the new x-position of the childhwnd, relative to it's position within the parenthwnd
integer newrelativey the new y-position of the childhwnd, relative to it's position within the parenthwnd
integer newwidth the new width of the childhwnd in pixels
integer newheight the new height of the childhwnd in pixels



^ Reaper version 5.965    JS version 0.962 Ultraschall version 4.1ReturnAllChildHWND

Functioncall:
Lua: integer count_of_hwnds, table hwnds = ultraschall.ReturnAllChildHWND(HWND hwnd)

Description:

Returns all child-window-handler of hwnd.

Returns -1 in case of an error


Parameters:
HWND hwnd the HWND-handler to check for

Returnvalues:
integer count_of_hwnds the number of found child-window-handler
table hwnds the found child-window-handler of hwnd



^ Reaper version 6.05 Ultraschall version 4.1VideoWindow_FullScreenToggle

Functioncall:
Lua: boolean fullscreenstate = ultraschall.VideoWindow_FullScreenToggle(optional boolean toggle)

Description:

toggles fullscree-state of Reaper's video-processor-window

returns nil in case of error


Parameters:
optional boolean toggle true, sets video-window to fullscreen; false, sets video-window to windowed; nil, toggle between fullscreen and nonfullscreen states

Returnvalues:
boolean fullscreenstate true, video-window is now fullscreen; false, video-window is NOT fullscreen



^ Reaper version 5.965 JS version 0.963 Ultraschall version 4.00Windows_Find

Functioncall:
Lua: integer count_hwnds, array hwnd_array, array hwnd_adresses = ultraschall.Windows_Find(string title, boolean strict)

Description:

Returns all Reaper-window-HWND-handler, with a given title. Can be further used with the JS_Window_functions of the JS-function-plugin.

Doesn't return IDE-windows! Use GetAllReaScriptIDEWindows to get them.

returns -1 in case of an error


Parameters:
integer count_hwnds the number of windows found
array hwnd_array the hwnd-handler of all found windows
array hwnd_adresses the adresses of all found windows

Returnvalues:
string title the title the window has
boolean strict true, if the title must be exactly as given by parameter title; false, only parts of a windowtitle must match parameter title




^ Reaper version 6.02 SWS version 2.10.0.1 Ultraschall version 4.00GetHelpDisplayMode

Functioncall:
Lua: integer helpcontent, boolean mouseediting = ultraschall.GetHelpDisplayMode()

Description:

gets the current help-display-mode, as shown in the area beneath the track control panels.

Returnvalues:
integer helpcontent 0, No information display 1, Reaper tips 2, Track/item count 3, selected track/item/envelope details 4, CPU/RAM use, time since last save
boolean mouseediting true, show mouse editing-help; false, don't show mouse editing-help



^ Reaper version 6.02 SWS version 2.10.0.1 Ultraschall version 4.00SetHelpDisplayMode

Functioncall:
Lua: boolean retval = ultraschall.SetHelpDisplayMode(integer helpcontent, boolean mouseediting)

Description:

sets the help-display-mode, as shown in the area beneath the track control panels.

returns false in case of an error

Parameters:
integer helpcontent 0, No information display 1, Reaper tips 2, Track/item count 3, selected track/item/envelope details 4, CPU/RAM use, time since last save
boolean mouseediting true, show mouse editing-help; false, don't show mouse editing-help

Returnvalues:
boolean retval true, setting was successful; false, setting was unsuccessful



^ Reaper version 6.02 SWS version 2.10.0.1 Ultraschall version 4.00WiringDiagram_GetOptions

Functioncall:
Lua: boolean show_send_wires, boolean show_routing_controls, boolean show_hardware_outputs = ultraschall.WiringDiagram_GetOptions()

Description:

gets the current wiring-display-options

Returnvalues:
boolean show_send_wires only show send wires on track mouseover; true, it's set; false, it's unset
boolean show_routing_controls show routing controls when creating send/hardware output; true, it's set; false, it's unset
boolean show_hardware_outputs only show hardware output/input wires on track mouseover; true, it's set; false, it's unset



^ Reaper version 6.02 SWS version 2.10.0.1 Ultraschall version 4.00WiringDiagram_SetOptions

Functioncall:
Lua: boolean retval = ultraschall.WiringDiagram_SetOptions(boolean show_send_wires, boolean show_routing_controls, boolean show_hardware_outputs)

Description:

sets the current wiring-display-options

Parameters:
boolean show_send_wires only show send wires on track mouseover; true, it's set; false, it's unset
boolean show_routing_controls show routing controls when creating send/hardware output; true, it's set; false, it's unset
boolean show_hardware_outputs only show hardware output/input wires on track mouseover; true, it's set; false, it's unset

Returnvalues:
boolean retval true, setting was successful; false, setting was not successful




^ Reaper version 6.02 Ultraschall version 4.1WebInterface_GetInstalledInterfaces

Functioncall:
Lua: integer reapers_webinterface_count, array reapers_webinterface_filenames, array reapers_webinterface_titles, integer users_webinterface_count, array users_webinterface_filenames, array users_webinterface_titles = ultraschall.WebInterface_GetInstalledInterfaces()

Description:

Returns the currently installed web-interface-pages.

Will return Reaper's default ones(resources-folder/Plugins/reaper_www_root/) as well as your customized ones(resources-folder/reaper_www_root/)

Returnvalues:
integer reapers_webinterface_count the number of factory-default webinterfaces, installed by Reaper
array reapers_webinterface_filenames the filenames with path of the webinterfaces(can be .htm or .html)
array reapers_webinterface_titles the titles of the webinterfaces, as shown in the titlebar of the browser
integer users_webinterface_count the number of user-customized webinterfaces
array users_webinterface_filenames the filenames with path of the webinterfaces(can be .htm or .html)
array users_webinterface_titles the titles of the webinterfaces, as shown in the titlebar of the browser



View: [all] [C/C++] [EEL2] [Lua] [Python] Automatically generated by Ultraschall-API 4.2 005 - 1386 elements available
(Reaper, SWS, JS, ReaImGui, Osara, ReaBlink)